zendframework/zend-mvc
Abandoned; use laminas/laminas-mvc. Zend Framework's event-driven MVC layer, including MVC Applications, Controllers, and Plugins
3.1.1
15M downloads/mo
#4681 most downloaded on Packagist
zendframework/zend-mvc
What this package is like to depend on
Last release 8 years ago
no release in 18 months
Release timing varies
gaps range from 9 days to 7 months
Some releases are documented
notes for 27 of 89 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
89 releases · first in 2012
0 releases in the last 12 months
see the full history below
Release timeline
63 releases · Oct 2012 to May 2018Releases
latest 60 of 89-
3.1.124 Nov 2017Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #247 fixes bug in controller plugin Forward, introduced in 3.1.0, where problem listeners were not detached for forwarded controller dispatch
Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #247 fixes bug in controller plugin Forward, introduced in 3.1.0, where problem listeners were not detached for forwarded controller dispatch
-
3.1.001 May 2017Release notes
Open source →Added
-
#217 adds support for middleware pipelines when using the
MiddlewareListener. You can now specify an _arrayof middleware for themiddlewareattached to a route, and it will be marshaled into aZend\Stratigility\MiddlewarePipe` instance, using the same rules as if you specified a single middleware. -
#236 adds the ability to attach dispatch listeners to middleware when using the
MiddlewareListener. Attach shared events to the class identifierZend\Mvc\Controller\MiddlewareController. This feature helps ensure that listeners that should run for every controller (e.g., authentication or authorization listeners) will run even for middleware. -
#231 adds a
composer.jsonsuggestion for zendframework/zend-paginator. -
#232 adds a
composer.jsonsuggestion for zendframework/zend-log.
Deprecated
- Nothing.
Removed
- #211 Removed unused zend-servicemanager v2 and zend-eventmanager v2 compatibility code since zend-mvc requires v3 of those components.
Fixed
- #237 fixes the return annotations for
HttpDefaultRenderingStrategyFactory::createServiceandinjectLayoutTemplate()to beHttpDefaultRenderingStrategyand notHttpDefaultRendererStrategy.
Release notes
Open source →Added
-
#217 adds support for middleware pipelines when using the
MiddlewareListener. You can now specify an _arrayof middleware for themiddlewareattached to a route, and it will be marshaled into aZend\Stratigility\MiddlewarePipe` instance, using the same rules as if you specified a single middleware. -
#236 adds the ability to attach dispatch listeners to middleware when using the
MiddlewareListener. Attach shared events to the class identifierZend\Mvc\Controller\MiddlewareController. This feature helps ensure that listeners that should run for every controller (e.g., authentication or authorization listeners) will run even for middleware. -
#231 adds a
composer.jsonsuggestion for zendframework/zend-paginator. -
#232 adds a
composer.jsonsuggestion for zendframework/zend-log.
Deprecated
- Nothing.
Removed
- #211 Removed unused zend-servicemanager v2 and zend-eventmanager v2 compatibility code since zend-mvc requires v3 of those components.
Fixed
- #237 fixes the return
annotations for
HttpDefaultRenderingStrategyFactory::createServiceandinjectLayoutTemplate()to beHttpDefaultRenderingStrategyand notHttpDefaultRendererStrategy.
-
-
3.0.420 Dec 2016Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #210 copies the
RouteMatchand its parameters to the PSR-7ServerRequestobject so that
they are available to middleware.
Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #210 copies the
RouteMatchand its parameters to the PSR-7ServerRequestobject so that they are available to middleware.
-
3.0.329 Aug 2016Release notes
Open source →Added
- #198 adds a factory for
the
SendResponseListener, to ensure that it is injected with an event manager instance from the outset; this fixes issues with delegator factories that registered listeners with it in previous versions.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #198 adds a factory for
the
-
3.0.230 Jun 2016Release notes
Open source →Added
-
#163 adds support to the
AcceptableViewModelSelectorplugin for controller maps in theview_managerconfiguration in the format:[ 'ControllerClassName' => 'view/name', ]This fixes an issue observed when running with Apigility.
-
#163 adds support to the
InjectTemplateListenerfor specifying whether or not to prefer the controller matched during routing via routing configuration:'route-name' => [ /* ... */ 'options' => [ /* ... */ 'defaults' => [ /* ... */ 'prefer_route_match_controller' => true, ], ], ],This allows actions that might otherwise skip injection of the template to force the injection.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #161 fixes the
DispatchListener::marshalBadControllerEvent()method to allow eitherThrowableorExceptiontypes for the$exceptionargument.
-
-
3.0.123 Jun 2016Release notes
Open source →Added
-
#165 adds a new controller factory,
LazyControllerAbstractFactory, that provides a Reflection-based approach to instantiating controllers. You may register it either as an abstract factory or as a named factory in your controller configuration:'controllers' => [ 'abstract_factories' => [ 'Zend\Mvc\Controller\LazyControllerAbstractFactory`, ], 'factories' => [ 'MyModule\Controller\FooController' => 'Zend\Mvc\Controller\LazyControllerAbstractFactory`, ], ],The factory uses the typehints to lookup services in the container, using aliases for well-known services such as the
FilterManager,ValidatorManager, etc. If anarraytypehint is used with a$configparameter, theconfigservice is injected; otherwise, an empty array is provided. For all other types, a null value is injected.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- Nothing.
-
-
3.0.031 May 2016Release notes
Open source →New major version! Please see:
for full details on how to migrate your v2 application.
Added
- Nothing.
Deprecated
- Nothing.
Removed
- #99 removes all router
functionality (everything in the
Zend\Mvc\Routernamespace. This functionality is now provided by the zend-router component, which becomes a requirement of zend-mvc. The removal also includes all service factories related to routing, as they are provided by zend-router. - #99 removes all
console-related functionality, including the
AbstractConsoleController, theCreateConsoleNotFoundModelcontroller plugin, theConsoleResponseSender, and all classes under theZend\Mvc\View\Consolenamespace; these are now provided by the zend-mvc-console component. (That component also includes console-specific routes, which were removed from zend-router.) All service factories related to console functionality are also now provided by zend-mvc-console. - #104 removes the
prg()plugin. It can now be installed separately via the zendframework/zend-mvc-plugin-prg package. - #108 removes the
fileprg(),flashMessenger(), andidentity()plugins. These can be installed via, respectively, the zendframework/zend-mvc-plugin-fileprg, zendframework/zend-mvc-plugin-flashmessenger, and zendframework/zend-mvc-plugin-identity packages. - #110 removes the
internationalization functionality from the component, including factories for
the translator and translator loader manager. This functionality is
now provided by the zend-i18n
and zend-mvc-i18n packages;
installing
zendframework/zend-mvc-i18nwill restore i18n functionality in your application. - #115 removes the
requirement for zend-filter in the
InjectTemplateListenerby inlining the logic fromZend\Filter\Word\CamelCaseToDash. - #116 removes the functionality related to integrating zend-servicemanager and zend-di. If you used this functionality previously, it is now available via a separate package, zend-servicemanager-di.
- #117 removes the
functionality related to exposing and configuring the zend-filter
FilterPluginManager. That functionality is now exposed directly by the zend-filter component. - #118 removes the
functionality related to exposing and configuring the zend-validator
ValidatorPluginManager. That functionality is now exposed directly by the zend-validator component. - #119 removes the
functionality related to exposing and configuring the zend-serializer
SerializerAdapterManager. That functionality is now exposed directly by the zend-serializer component. - #120 removes the
functionality related to exposing and configuring the zend-hydrator
HydratorManager. That functionality is now exposed directly by the zend-hydrator component. - #54 removes the
$configurationargument (first required argument) from theZend\Mvc\Applicationconstructor. If you were directly instantiating anApplicationinstance previously (whether in your bootstrap, a factory, or tests), you will need to update how you instantiate the instance. (The argument was removed as the value was never used.) - #121 removes the
functionality related to exposing and configuring the zend-log
ProcessorPluginManagerandWriterPluginManager. That functionality is now exposed directly by the zend-log component (with the addition of exposing theFilterPluginManagerandFormatterPluginManageras well). - #123 removes the
functionality related to exposing and configuring the zend-inputfilter
InputFilterManager. That functionality is now exposed directly by the zend-inputfilter component. - #124 removes the
functionality related to exposing and configuring zend-form, including the
FormElementManager,FormAnnotationBuilder, and theFormAbstractServiceFactory. The functionality is now exposed directly by the zend-form component. - #125 removes the
functionality from the
ViewHelperManagerfactory for fetching configuration classes from other components and using them to configure the instance. In all cases, this is now done by the components themselves. - #128 removes the
ControllerLoaderFactory, and theControllerLoaderservice alias; useControllerManagerFactoryandControllerManager, respectively, instead. - #128 removes
Zend\Mvc\View\SendResponseListener; useZend\Mvc\SendResponseListenerinstead. - #128 removes
Application::send(), which has been a no-op since 2.2. - #128 removes
DispatchListener::marshallControllerNotFoundEvent(), which has proxied tomarshalControllerNotFoundEvent()since 2.2. - #128 removes
the
ServiceLocatorAwareInterfaceimplementation (setServiceLocator()/getServiceLocator()methods) fromAbstractController. You will need to inject your dependencies specifically going forward. - #128 removes
the
ServiceLocatorAwareInterfaceinitializers defined inZend\Mvc\Service\ServiceManagerConfigandZend\Mvc\Controller\ControllerManager. You will need to inject your dependencies specifically going forward. - #139 removes support for
pseudo-module template resolution using the
__NAMESPACE__routing configuration option, as it often led to conflicts when multiple modules shared a common top-level namespace. Auto-resolution now always takes into account the full namespace (minus theControllersegment).
Fixed
- #113 updates
AbstractRestfulControllerto make usage of zend-json for deserializing JSON requests optional.json_decode()is now used by default, falling back toZend\Json\Json::decode()if it is available. If neither are available, an exception is now thrown. - #115 and
#128 update the
dependency list, per https://github.com/zendframework/maintainers/wiki/zend-mvc-v3-refactor:-reduce-components#required-components,
to do the following:
- Makes the following components required:
- zend-http
- zend-modulemanager
- zend-router
- zend-view
- Makes the following components optional:
- zend-json
- zend-psr7bridge
- And pares the suggestion list down to:
- zend-mvc-console
- zend-mvc-i18n
- zend-mvc-plugin-fileprg
- zend-mvc-plugin-flashmessenger
- zend-mvc-plugin-identity
- zend-mvc-plugin-prg
- zend-servicemanager-di
- Makes the following components required:
- #128 bumps the minimum supported version of zend-eventmanager, zend-servicemanager, and zend-stdlib to their v3 releases.
- #128 bumps the minimum supported PHP version to 5.6.
-
2.7.1503 May 2018Release notes
Open source →Added
- Nothing.
Changed
- #245 moves the zend-console dependency from
require-devtorequire, as it is
a requirement of theRequestFactory, and removal of the package causes that factory to fail.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- Nothing.
-
2.7.1402 May 2018Release notes
Open source →Added
- #279 provides support for PHP 7.1 and 7.2.
Changed
- #279 changes the
Zend\Mvc\Controller\PluginManagerimplementation to vary
based on zend-servicemanager major version detected in order to ensure the
signature ofget()will be correct regardless of version.
Deprecated
- Nothing.
Removed
- #279 removes explicit support for PHP 5.5.
The code may, and likely will, continue to run on the 5.5 series, but we are
unable to continue testing it at this time as dependencies necessary for PHP
7.2 support have all bumped their minimum versions to PHP 5.6. If you use PHP
5.5, upgrade at your own risk.
Fixed
- Nothing.
-
2.7.1314 Dec 2017Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
-
Updates the
Zend\Mvc\Controller\PluginManager::get()signature to match that ofZend\ServiceManager\AbstractPluginManager::get(), and thus ensure compatibility when running under PHP 7.2. -
#234 fixes docblock annotations in
AbstractActionController::indexActionandnotFoundActionto indicate they return aViewModel|ConsoleModeland notarray.
-
2.7.1227 Apr 2017Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #235 fixes
FormAnnotationBuilderFactory::injectFactory()to pass the correct arguments to the plugin manager'sinjectFactory()initializer when running under zend-servicemanager v2.
-
2.7.1127 Apr 2017Release notes
Open source →Added
- #233 adds a
replaceentry to thecomposer.jsonindicating the package replaces zendframework/zend-router. This is done to prevent errors from installing both zend-mvc v2 with zend-router, which could lead to subtle errors when checking exceptions, locating route types, etc. Users should upgrade to zend-mvc v3 if they wish to use the standalone zend-router package.
Deprecated
- Nothing.
Removed
- #229 removes the zend-version package from the
require-devandsuggestsections ofcomposer.json, and updates theRouteNotFoundStrategy::getConsoleBanner()method to no longer use the version constant. Since zend-version has had no real meaning since the 2.5 release, this removes ambiguity for end-users.
Fixed
- #223 fixes how the
FormAnnotationBuilderFactoryinjects the builder with theFormElementManagerservice such that it will work with the latest zend-form releases.
- #233 adds a
-
2.7.1013 Jun 2016Nothing published for this version
-
2.7.911 Jun 2016Nothing published for this version
-
2.7.831 May 2016Release notes
Open source →Added
- #138 adds support for
PHP 7
Throwables within each of:DispatchListenerMiddlewareListener- The console
RouteNotFoundStrategyandExceptionStrategy - The HTTP
DefaultRenderingStrategyandRouteNotFoundStrategy
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- Nothing.
- #138 adds support for
PHP 7
-
2.7.712 Apr 2016Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #122 fixes the
FormAnnotationBuilderFactoryto use the container'sget()method instead ofbuild()to retrieve the event manager instance.
-
2.7.606 Apr 2016Release notes
Open source →Added
- #94 adds a documentation recipe for using middleware withing MVC event listeners.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
-
2.7.506 Apr 2016Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #111 fixes a bug in how
the
ConsoleExceptionStrategyFactorywhereby it was overwriting the default exception message template with an empty string when no configuration for it was provided.
-
2.7.403 Apr 2016Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #114 fixes an issue in
the
ServiceLocatorAwareinitializer whereby plugin manager instances were falsely identified as the container instance when under zend-servicemanager v2.
-
2.7.308 Mar 2016Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #97 re-introduces the
ServiceManagerfactory definition insideServiceManagerConfig, to ensure backwards compatibility.
-
2.7.208 Mar 2016Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #95 re-introduces the
various zend-di aliases and factories in
Zend\Mvc\Service\ServiceListenerFactory, which were accidently removed in the 2.7.0 release. - #96 fixes shared event
detachment/attachment within the
Forwardplugin to work with both v2 and v3 of zend-eventmanager. - #93 ensures that the
Console
Catchallroute factory will not fail when thedefaults$optionsarray key is missing. - #43 updates the
AbstractRestfulControllerto ensure it can accept textual (e.g., XML, YAML) data. - #79 updates the continuous integration configuration to ensure we test against lowest and highest accepted dependencies, and those in the current lockfile.
-
2.7.102 Mar 2016Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
-
#88 addresses backwards compatibility concerns raised by users due to the new deprecation notices emitted by
ServiceLocatorAwareinitializers; in particular, allAbstractControllerimplementations were raising a deprecation wen first pulled from theControllerManager.At this time, notices are now only raised in the following conditions:
- When a non-controller, non-plugin manager,
ServiceLocatorAwareinstance is detected. - When a plugin manager instance is detected that is
ServiceLocatorAwareand does not have a composed service locator. In this situation, the deprecation notice indicates that the factory for the plugin manager should be updated to inject the service locator via the constructor. - For controllers that do not extend
AbstractControllerbut do implementServiceLocatorAware. - When calling
getServiceLocator()from within anAbstractControllerextension; this properly calls out the practice that should be avoided and which requires updates to the controller.
- When a non-controller, non-plugin manager,
-
2.7.001 Mar 2016Release notes
Open source →Added
-
#31 adds three new optional arguments to the
Zend\Mvc\Applicationconstructor: an EventManager instance, a Request instance, and a Response instance. -
#36 adds more than a dozen service factories, primarily to separate conditional factories into discrete factories.
-
#32 adds
Zend\Mvc\MiddlewareListener, which allows dispatching PSR-7-based middleware implementing the signaturefunction (ServerRequestInterface $request, ResponseInterface $response). To dispatch such middleware, point themiddleware"default" for a given route to a service name or callable that will resolve to the middleware:[ 'router' => 'routes' => [ 'path' => [ 'type' => 'Literal', 'options' => [ 'route' => '/path', 'defaults' => [ 'middleware' => 'ServiceNameForPathMiddleware', ], ], ], ]This new listener listens at the same priority as the
DispatchListener, but, due to being registered earlier, will invoke first; if the route match does not resolve to middleware, it will fall through to the originalDispatchListener, allowing normal ZF2-style controller dispatch. -
#84 publishes the documentation to https://zendframework.github.io/zend-mvc/
Deprecated
- Two initializers registered by
Zend\Mvc\Service\ServiceManagerConfigare now deprecated, and will be removed starting in version 3.0:ServiceManagerAwareInitializer, which injects classes implementingZend\ServiceManager\ServiceManagerAwareInterfacewith the service manager instance. Users should create factories for such classes that directly inject their dependencies instead.ServiceLocatorAwareInitializer, which injects classes implementingZend\ServiceManager\ServiceLocatorAwareInterfacewith the service manager instance. Users should create factories for such classes that directly inject their dependencies instead.
Removed
Zend\Mvc\Controller\AbstractControllerno longer directly implementsZend\ServiceManager\ServiceLocatorAwareInterface, but still implements the methods defined in that interface. This was done to provide forwards-compatibility, as zend-servicemanager v3 no longer defines the interface. All initializers that doServiceLocatorInterfaceinjection were updated to also inject when just the methods are present.
Fixed
- #31 and #76 update the component to be forwards-compatible with zend-eventmanager v3.
- #36,
#76,
#80,
#81, and
#82 update the component
to be forwards-compatible with zend-servicemanager v3. Several changes were
introduced to support this effort:
- Added a
RouteInvokableFactory, which can act as either aFactoryInterfaceorAbstractFactoryInterfacefor loading invokable route classes, including by fully qualified class name. This is registered as an abstract factory by default with theRoutePluginManager. - The
DispatchListenernow receives the controller manager instance at instantiation. - The
ViewManagerimplementations were updated, and most functionality within separated into discrete factories.
- Added a
-
-
2.6.323 Feb 2016Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #74 fixes the
FormAnnotationBuilderFactory's usage of theFormElementManager::injectFactory()method to ensure it works correctly on all versions.
-
2.6.222 Feb 2016Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #71 fixes the
ViewHelperManagerFactoryto be backwards-compatible with v2 by ensuring that the factories for each of theurl,basepath, anddoctypeview helpers are registered using the fully qualified class names present inZend\View\HelperPluginManager; these changes ensure requests for these helpers resolve to these override factories, instead of theInvokableFactory.
-
2.6.116 Feb 2016Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
-
#69 largely reverts #30, having the component utilize the
HydratorPluginManagerfrom zend-stdlib 2.7.5. This was done to provide backwards compatibility; while zend-stdlib Hydrator types can be used in place of zend-hydrator types, the reverse is not true.You can make your code forwards-compatible with version 3, where the
HydratorPluginManagerwill be pulled from zend-hydrator, by updating your typehints to use the zend-hydrator classes instead of those from zend-stdlib; the instances returned from the zend-stdlibHydratorPluginManager, because they extend those from zend-hydrator, remain compatible.
-
2.6.022 Sep 2015Release notes
Open source →Added
- #30 updates the component to use zend-hydrator for hydrator functionality; this provides forward compatibility with zend-hydrator, and backwards compatibility with hydrators from older versions of zend-stdlib.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- Nothing.
-
2.5.322 Sep 2015Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #29 updates the
zend-stdlib dependency to reference
>=2.5.0,<2.7.0to ensure hydrators will work as expected following extraction of hydrators to the zend-hydrator repository.
-
2.5.214 Sep 2015Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #27 fixes a condition
where non-view model results from controllers could cause errors to be
raisedin the
DefaultRenderingStrategy.
-
2.5.103 Jun 2015Nothing published for this version
-
2.5.003 Jun 2015Nothing published for this version
-
2.4.1314 Sep 2015Nothing published for this version
-
2.4.12no dateNothing published for this version
-
2.4.11no dateNothing published for this version
-
2.4.10no dateNothing published for this version
-
2.4.9no dateNothing published for this version
-
2.4.8no dateNothing published for this version
-
2.4.707 May 2015Nothing published for this version
-
2.4.6no dateNothing published for this version
-
2.4.5no dateNothing published for this version
-
2.4.4no dateNothing published for this version
-
2.4.3no dateNothing published for this version
-
2.4.2no dateNothing published for this version
-
2.4.1no dateNothing published for this version
-
2.4.026 Mar 2015Nothing published for this version
-
2.3.912 Mar 2015Nothing published for this version
-
2.3.8no dateNothing published for this version
-
2.3.7no dateNothing published for this version
-
2.3.603 Mar 2015Nothing published for this version
-
2.3.513 Jan 2015Nothing published for this version
-
2.3.4no dateNothing published for this version
-
2.3.311 Aug 2014Nothing published for this version
-
2.3.2no dateNothing published for this version
-
2.3.114 Apr 2014Nothing published for this version
-
2.3.012 Mar 2014Nothing published for this version
-
2.2.1005 Mar 2014Nothing published for this version
-
2.2.9no dateNothing published for this version
-
2.2.8no dateNothing published for this version
-
2.2.7no dateNothing published for this version
-
2.2.6no dateNothing published for this version