Skip to content
This repository has been archived by the owner on Jan 29, 2020. It is now read-only.

Expressive 1.0.0rc3

Compare
Choose a tag to compare
@weierophinney weierophinney released this 07 Dec 17:29
· 1733 commits to master since this release

Third release candidate.

Added

  • #185 Support casting zend-view models to arrays.
  • #192 adds support for specifying arrays of middleware both when routing and when creating pipeline middleware. This feature is opt-in and backwards compatible; simply specify an array value that does not resolve as a callable. Values in the array must be callables, service names resolving to callable middleware, or fully qualified class names that can be instantiated without arguments, and which result in invokable middleware.
  • #200, #206, and #211 add functionality for observing computed RouteResults. Zend\Expressive\Application now implements Zend\Expressive\Router\RouteResultSubjectInterface, which allows attaching Zend\Expressive\RouteResultObserverInterface implementations and notifying them of computed RouteResult instances. The following methods are now available on the Application instance:
    • attachRouteResultObserver(Router\RouteResultObserverInterface $observer)
    • detachRouteResultObserver(Router\RouteResultObserverInterface $observer)
    • notifyRouteResultObservers(RouteResult $result); Application calls this internally within routeMiddleware.
      This feature enables the ability to notify objects of the calculated RouteResult without needing to inject middleware into the system.
  • #81 adds a cookbook entry for creating 404 handlers.
  • #210 adds a documentation section on the new zendframework/zend-expressive-helpers utilities.

Deprecated

  • Nothing.

Removed

Fixed

  • #187 Inject the route result as an attribute
  • #197 updates the Zend\Expressive\Container\ApplicationFactory to raise exceptions in cases where received configuration is unusable, instead of silently ignoring it. This is a small backwards compatibility break, but is done to eliminate difficult to identify issues due to bad configuration.
  • #202 clarifies that RouterInterface implements MUST throw a RuntimeException if addRoute() is called after either match() or generateUri() have been called.