This repository has been archived by the owner on Jan 29, 2020. It is now read-only.
Expressive 1.0.0rc3
·
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
RouteResult
s.Zend\Expressive\Application
now implementsZend\Expressive\Router\RouteResultSubjectInterface
, which allows attachingZend\Expressive\RouteResultObserverInterface
implementations and notifying them of computedRouteResult
instances. The following methods are now available on theApplication
instance:attachRouteResultObserver(Router\RouteResultObserverInterface $observer)
detachRouteResultObserver(Router\RouteResultObserverInterface $observer)
notifyRouteResultObservers(RouteResult $result)
;Application
calls this internally withinrouteMiddleware
.
This feature enables the ability to notify objects of the calculatedRouteResult
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
- #204 removes the
Router
andTemplate
components, as they are now shipped with the following packages, respectively:- zendframework/zend-expressive-router
- zendframework/zend-expressive-template This package has been updated to depend on each of them.
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 aRuntimeException
ifaddRoute()
is called after eithermatch()
orgenerateUri()
have been called.