Skip to content

Upgrading zendframework/zend-mvc 2 to 3

Breaking2.7.15 → 3.1.1Breaking23Platform1New7Changed4Fixed7Other1

BreakingUpgrade verdict

23 breaking changes and a platform requirement change.

  • Routing code moved out of this package into a separate zend-router package that you now need to install.
  • Console support moved to a separate zend-mvc-console package that you must install to keep using it.
  • The prg() controller plugin is no longer bundled; install the separate zend-mvc-plugin-prg package to use it.
  • These three controller plugins moved into their own packages that you must install to keep using them.
Top 4 of 24 that need code or config changes

zendframework/zend-mvc publishes an official migration guide for version 3. It covers more than the release notes do.

The migration guide ↗

PHP requirement changed in 3.0.0: ^5.5 || ^7.0 → ^5.6 || ^7.0.

Breaking23
Removes all router functionality in the Zend\Mvc\Router namespace, now provided by zend-router, which becomes a requirement.
Zend\Mvc\Router
Removes all console-related functionality, now provided by the zend-mvc-console component.
AbstractConsoleControllerCreateConsoleNotFoundModelConsoleResponseSenderZend\Mvc\View\Console
Removes the prg() plugin, now installable separately via zendframework/zend-mvc-plugin-prg.
prg()
Removes the fileprg(), flashMessenger(), and identity() plugins, now available as separate packages.
fileprg()flashMessenger()identity()
Removes internationalization functionality, now provided by zend-i18n and zend-mvc-i18n.
Removes the zend-filter requirement from InjectTemplateListener by inlining CamelCaseToDash logic.
InjectTemplateListenerZend\Filter\Word\CamelCaseToDash
Removes zend-servicemanager and zend-di integration, now available via zend-servicemanager-di.
Removes functionality exposing and configuring the zend-filter FilterPluginManager, now exposed by zend-filter.
FilterPluginManager
Removes functionality exposing and configuring the zend-validator ValidatorPluginManager, now exposed by zend-validator.
ValidatorPluginManager
Removes functionality exposing and configuring the zend-serializer SerializerAdapterManager, now exposed by zend-serializer.
SerializerAdapterManager
Removes functionality exposing and configuring the zend-hydrator HydratorManager, now exposed by zend-hydrator.
HydratorManager
Removes the $configuration first argument from the Zend\Mvc\Application constructor.
Zend\Mvc\Application
Removes functionality exposing and configuring zend-log ProcessorPluginManager and WriterPluginManager, now exposed by zend-log.
ProcessorPluginManagerWriterPluginManagerFilterPluginManagerFormatterPluginManager
Removes functionality exposing and configuring the zend-inputfilter InputFilterManager, now exposed by zend-inputfilter.
InputFilterManager
Removes zend-form exposure and configuration, including FormElementManager, FormAnnotationBuilder, and FormAbstractServiceFactory.
FormElementManagerFormAnnotationBuilderFormAbstractServiceFactory
Removes ViewHelperManager factory logic for fetching configuration classes from other components.
ViewHelperManager
Removes ControllerLoaderFactory and the ControllerLoader service alias in favor of ControllerManagerFactory and ControllerManager.
ControllerLoaderFactoryControllerLoaderControllerManagerFactoryControllerManager
Removes Zend\Mvc\View\SendResponseListener in favor of Zend\Mvc\SendResponseListener.
Zend\Mvc\View\SendResponseListenerZend\Mvc\SendResponseListener
Removes Application::send(), which has been a no-op since 2.2.
Application::send()
Removes DispatchListener::marshallControllerNotFoundEvent(), which proxied to marshalControllerNotFoundEvent() since 2.2.
DispatchListener::marshallControllerNotFoundEvent()DispatchListener::marshalControllerNotFoundEvent()
Removes the ServiceLocatorAwareInterface implementation (setServiceLocator()/getServiceLocator()) from AbstractController.
AbstractControllerServiceLocatorAwareInterfacesetServiceLocator()getServiceLocator()
Removes the ServiceLocatorAwareInterface initializers from ServiceManagerConfig and ControllerManager.
ServiceLocatorAwareInterfaceZend\Mvc\Service\ServiceManagerConfigZend\Mvc\Controller\ControllerManager
Removes pseudo-module template resolution via the __NAMESPACE__ routing option; auto-resolution now uses the full namespace minus the Controller segment.
__NAMESPACE__
Platform1
Bumps the minimum supported PHP version to 5.6.

Generated by DepDelta from published PHP source. Not mixed with prose notes.

  • removed: method Application.send()
  • removed: protected method DispatchListener.marshallControllerNotFoundEvent($type, $controllerName, MvcEvent $event, Application $application, \Exception $exception = …)
  • removed: protected method MiddlewareListener.marshalMiddlewareNotCallable($type, $middlewareName, MvcEvent $event, Application $application, \Exception $exception = …)
  • removed: protected property Application.configuration
  • changed: constructor Application($configuration, ServiceManager $serviceManager, EventManagerInterface $events = …, RequestInterface $request = …, ResponseInterface $response = …) → constructor Application(ServiceManager $serviceManager, EventManagerInterface $events = …, RequestInterface $request = …, ResponseInterface $response = …)
  • changed: method MvcEvent.setRouteMatch(Router\RouteMatch $matches) → method MvcEvent.setRouteMatch(RouteMatch $matches)
  • changed: method MvcEvent.setRouter(Router\RouteStackInterface $router) → method MvcEvent.setRouter(RouteStackInterface $router)
  • changed: method RouteListener.onRoute($e) → method RouteListener.onRoute(MvcEvent $event)
  • changed: protected method DispatchListener.marshalControllerNotFoundEvent($type, $controllerName, MvcEvent $event, Application $application, \Exception $exception = …) → protected method DispatchListener.marshalControllerNotFoundEvent($type, $controllerName, MvcEvent $event, Application $application, $exception = …)
  • added: protected method MiddlewareListener.marshalInvalidMiddleware($type, $middlewareName, MvcEvent $event, Application $application, \Exception $exception = …)
  • removed: abstract class AbstractPluginManager extends BasePluginManager
  • removed: class AbstractConsoleController extends AbstractActionController
  • removed: class PluginManagerSM2 extends AbstractPluginManager
  • removed: class PluginManagerSM3 extends AbstractPluginManager
  • removed: method AbstractConsoleController.dispatch(RequestInterface $request, ResponseInterface $response = …)
  • removed: method AbstractConsoleController.getConsole()
  • removed: method AbstractConsoleController.setConsole(ConsoleAdapter $console)
  • removed: method AbstractController.getServiceLocator()
  • removed: method AbstractController.setServiceLocator(ServiceLocatorInterface $serviceLocator)
  • removed: method AbstractPluginManager.getController()
  • removed: method AbstractPluginManager.injectController($plugin)
  • removed: method AbstractPluginManager.setController(DispatchableInterface $controller)
  • removed: method AbstractPluginManager.validate($plugin)
  • removed: method AbstractPluginManager.validatePlugin($plugin)
  • removed: method ControllerManager.injectConsole($first, $second)
  • removed: method ControllerManager.injectServiceLocator($first, $second)
  • removed: method ControllerManager.validatePlugin($plugin)
  • removed: method PluginManagerSM2.get($name, $options = …, $usePeeringServiceManagers = …)
  • removed: method PluginManagerSM3.get($name, array $options = …)
  • removed: protected method AbstractActionController.createConsoleNotFoundModel($response)
  • removed: protected method AbstractActionController.createHttpNotFoundModel(HttpResponse $response)
  • removed: protected property AbstractConsoleController.console
  • removed: protected property AbstractController.serviceLocator
  • removed: protected property AbstractPluginManager.aliases
  • removed: protected property AbstractPluginManager.controller
  • removed: protected property AbstractPluginManager.factories
  • removed: protected property AbstractPluginManager.instanceOf
  • changed: class ControllerManager extends BasePluginManager → class ControllerManager extends AbstractPluginManager
  • changed: constructor ControllerManager($configOrContainerInstance, array $v3config = …) → constructor ControllerManager($configOrContainerInstance, array $config = …)
  • changed: method ControllerManager.injectEventManager($first, $second) → method ControllerManager.injectEventManager(ContainerInterface $container, $controller)
  • changed: method ControllerManager.injectPluginManager($first, $second) → method ControllerManager.injectPluginManager(ContainerInterface $container, $controller)
  • added: class LazyControllerAbstractFactory implements AbstractFactoryInterface
  • added: class PluginManager extends AbstractPluginManager
  • added: constructor MiddlewareController(MiddlewarePipe $pipe, ResponseInterface $responsePrototype, EventManagerInterface $eventManager, MvcEvent $event)
  • added: final class MiddlewareController extends AbstractController
  • added: method LazyControllerAbstractFactory.__invoke(ContainerInterface $container, $requestedName, array $options = …)
  • added: method LazyControllerAbstractFactory.canCreate(ContainerInterface $container, $requestedName)
  • added: method MiddlewareController.onDispatch(MvcEvent $e)
  • added: method PluginManager.get($name, array $options = …)
  • added: method PluginManager.getController()
  • added: method PluginManager.injectController($plugin)
  • added: method PluginManager.setController(DispatchableInterface $controller)
  • added: method PluginManager.validate($plugin)
  • added: protected method AbstractRestfulController.jsonDecode($string)
  • added: protected property LazyControllerAbstractFactory.aliases
  • added: protected property PluginManager.aliases
  • added: protected property PluginManager.controller
  • added: protected property PluginManager.factories
  • added: protected property PluginManager.instanceOf
  • removed: class CreateConsoleNotFoundModel extends AbstractPlugin
  • removed: class FilePostRedirectGet extends AbstractPlugin
  • removed: class FlashMessenger extends AbstractPlugin implements IteratorAggregate, Countable
  • removed: class Identity extends AbstractPlugin
  • removed: class PostRedirectGet extends AbstractPlugin
  • removed: const FlashMessenger.NAMESPACE_DEFAULT
  • removed: const FlashMessenger.NAMESPACE_ERROR
  • removed: const FlashMessenger.NAMESPACE_INFO
  • removed: const FlashMessenger.NAMESPACE_SUCCESS
  • removed: const FlashMessenger.NAMESPACE_WARNING
  • removed: method CreateConsoleNotFoundModel.__invoke()
  • removed: method FilePostRedirectGet.__invoke(FormInterface $form, $redirect = …, $redirectToUrl = …)
  • removed: method FilePostRedirectGet.getSessionContainer()
  • removed: method FilePostRedirectGet.setSessionContainer(Container $container)
  • removed: method FlashMessenger.addErrorMessage($message)
  • removed: method FlashMessenger.addInfoMessage($message)
  • removed: method FlashMessenger.addMessage($message, $namespace = …, $hops = …)
  • removed: method FlashMessenger.addSuccessMessage($message)
  • removed: method FlashMessenger.addWarningMessage($message)
  • removed: method FlashMessenger.clearCurrentMessages($namespace = …)
  • removed: method FlashMessenger.clearCurrentMessagesFromContainer()
  • removed: method FlashMessenger.clearCurrentMessagesFromNamespace($namespaceToClear)
  • removed: method FlashMessenger.clearMessages($namespace = …)
  • removed: method FlashMessenger.clearMessagesFromContainer()
  • removed: method FlashMessenger.clearMessagesFromNamespace($namespaceToClear)
  • removed: method FlashMessenger.count()
  • removed: method FlashMessenger.getContainer()
  • removed: method FlashMessenger.getCurrentErrorMessages()
  • removed: method FlashMessenger.getCurrentInfoMessages()
  • removed: method FlashMessenger.getCurrentMessages($namespace = …)
  • removed: method FlashMessenger.getCurrentMessagesFromNamespace($namespaceToGet)
  • removed: method FlashMessenger.getCurrentSuccessMessages()
  • removed: method FlashMessenger.getCurrentWarningMessages()
  • removed: method FlashMessenger.getErrorMessages()
  • removed: method FlashMessenger.getInfoMessages()
  • removed: method FlashMessenger.getIterator()
  • removed: method FlashMessenger.getMessages($namespace = …)
  • removed: method FlashMessenger.getMessagesFromNamespace($namespaceToGet)
  • removed: method FlashMessenger.getNamespace()
  • removed: method FlashMessenger.getSessionManager()
  • removed: method FlashMessenger.getSuccessMessages()
  • removed: method FlashMessenger.getWarningMessages()
  • removed: method FlashMessenger.hasCurrentErrorMessages()
  • removed: method FlashMessenger.hasCurrentInfoMessages()
  • removed: method FlashMessenger.hasCurrentMessages($namespace = …)
  • removed: method FlashMessenger.hasCurrentSuccessMessages()
  • removed: method FlashMessenger.hasCurrentWarningMessages()
  • removed: method FlashMessenger.hasErrorMessages()
  • removed: method FlashMessenger.hasInfoMessages()
  • removed: method FlashMessenger.hasMessages($namespace = …)
  • removed: method FlashMessenger.hasSuccessMessages()
  • removed: method FlashMessenger.hasWarningMessages()
  • removed: method FlashMessenger.setNamespace($namespace = …)
  • removed: method FlashMessenger.setSessionManager(Manager $manager)
  • removed: method Identity.__invoke()
  • removed: method Identity.getAuthenticationService()
  • removed: method Identity.setAuthenticationService(AuthenticationServiceInterface $authenticationService)
  • removed: method PostRedirectGet.__invoke($redirect = …, $redirectToUrl = …)
  • removed: method PostRedirectGet.getSessionContainer()
  • removed: method PostRedirectGet.setSessionContainer(Container $container)
  • removed: protected method FilePostRedirectGet.getEmptyUploadData(InputFilterInterface $inputFilter, $data)
  • removed: protected method FilePostRedirectGet.getNonEmptyUploadData(InputFilterInterface $inputFilter, $data)
  • removed: protected method FilePostRedirectGet.handleGetRequest(FormInterface $form)
  • removed: protected method FilePostRedirectGet.handlePostRequest(FormInterface $form, $redirect, $redirectToUrl)
  • removed: protected method FilePostRedirectGet.redirect($redirect, $redirectToUrl)
  • removed: protected method FilePostRedirectGet.setProtectedFormProperty(FormInterface $form, $property, $value)
  • removed: protected method FilePostRedirectGet.traverseInputs(InputFilterInterface $inputFilter, $values, $callback)
  • removed: protected method FlashMessenger.getMessagesFromContainer()
  • removed: protected method PostRedirectGet.redirect($redirect, $redirectToUrl)
  • removed: protected property FilePostRedirectGet.sessionContainer
  • removed: protected property FlashMessenger.container
  • removed: protected property FlashMessenger.messageAdded
  • removed: protected property FlashMessenger.messages
  • removed: protected property FlashMessenger.namespace
  • removed: protected property FlashMessenger.session
  • removed: protected property Identity.authenticationService
  • removed: protected property PostRedirectGet.sessionContainer
  • removed: class IdentityFactory implements FactoryInterface
  • removed: method ForwardFactory.createService(ServiceLocatorInterface $container)
  • removed: method IdentityFactory.__invoke(ContainerInterface $container, $name, array $options = …)
  • removed: method IdentityFactory.createService(ServiceLocatorInterface $container)
  • added: class ReachedFinalHandlerException extends RuntimeException
  • added: final class InvalidMiddlewareException extends RuntimeException
  • added: method InvalidMiddlewareException.toMiddlewareName()
  • added: static method InvalidMiddlewareException.fromMiddlewareName($middlewareName)
  • added: static method InvalidMiddlewareException.fromNull()
  • added: static method ReachedFinalHandlerException.create()
  • removed: class DummyTranslator implements I18nTranslatorInterface
  • removed: class Translator implements I18nTranslatorInterface, ValidatorTranslatorInterface
  • removed: constructor Translator(I18nTranslatorInterface $translator)
  • removed: method DummyTranslator.translate($message, $textDomain = …, $locale = …)
  • removed: method DummyTranslator.translatePlural($singular, $plural, $number, $textDomain = …, $locale = …)
  • removed: method Translator.__call($method, array $args)
  • removed: method Translator.getTranslator()
  • removed: method Translator.translate($message, $textDomain = …, $locale = …)
  • removed: method Translator.translatePlural($singular, $plural, $number, $textDomain = …, $locale = …)
  • removed: protected property Translator.translator
  • removed: class ConsoleResponseSender implements ResponseSenderInterface
  • removed: method ConsoleResponseSender.__invoke(SendResponseEvent $event)
  • removed: method ConsoleResponseSender.sendContent(SendResponseEvent $event)
  • removed: class PriorityList extends StdlibPriorityList
  • removed: class RouteInvokableFactory implements AbstractFactoryInterface, FactoryInterface
  • removed: class RouteMatch
  • removed: class RoutePluginManager extends AbstractPluginManager
  • removed: class SimpleRouteStack implements RouteStackInterface
  • removed: constructor RouteMatch(array $params)
  • removed: constructor RoutePluginManager($configOrContainerInstance, array $v3config = …)
  • removed: constructor SimpleRouteStack(RoutePluginManager $routePluginManager = …)
  • removed: interface RouteInterface
  • removed: interface RouteStackInterface extends RouteInterface
  • removed: method RouteInterface.assemble(array $params = …, array $options = …)
  • removed: method RouteInterface.match(Request $request)
  • removed: method RouteInvokableFactory.__invoke(ContainerInterface $container, $routeName, array $options = …)
  • removed: method RouteInvokableFactory.canCreate(ContainerInterface $container, $routeName)
  • removed: method RouteInvokableFactory.canCreateServiceWithName(ServiceLocatorInterface $container, $normalizedName, $routeName)
  • removed: method RouteInvokableFactory.createService(ServiceLocatorInterface $container, $normalizedName = …, $routeName = …)
  • removed: method RouteInvokableFactory.createServiceWithName(ServiceLocatorInterface $container, $normalizedName, $routeName)
  • removed: method RouteInvokableFactory.setCreationOptions(array $creationOptions)
  • removed: method RouteMatch.getMatchedRouteName()
  • removed: method RouteMatch.getParam($name, $default = …)
  • removed: method RouteMatch.getParams()
  • removed: method RouteMatch.setMatchedRouteName($name)
  • removed: method RouteMatch.setParam($name, $value)
  • removed: method RoutePluginManager.configure(array $config)
  • removed: method RoutePluginManager.validate($plugin)
  • removed: method RoutePluginManager.validatePlugin($plugin)
  • removed: method RouteStackInterface.addRoute($name, $route, $priority = …)
  • removed: method RouteStackInterface.addRoutes($routes)
  • removed: method RouteStackInterface.removeRoute($name)
  • removed: method RouteStackInterface.setRoutes($routes)
  • removed: method SimpleRouteStack.addRoute($name, $route, $priority = …)
  • removed: method SimpleRouteStack.addRoutes($routes)
  • removed: method SimpleRouteStack.assemble(array $params = …, array $options = …)
  • removed: method SimpleRouteStack.getRoute($name)
  • removed: method SimpleRouteStack.getRoutePluginManager()
  • removed: method SimpleRouteStack.getRoutes()
  • removed: method SimpleRouteStack.hasRoute($name)
  • removed: method SimpleRouteStack.match(Request $request)
  • removed: method SimpleRouteStack.removeRoute($name)
  • removed: method SimpleRouteStack.setDefaultParam($name, $value)
  • removed: method SimpleRouteStack.setDefaultParams(array $params)
  • removed: method SimpleRouteStack.setRoutePluginManager(RoutePluginManager $routePlugins)
  • removed: method SimpleRouteStack.setRoutes($routes)
  • removed: protected method RoutePluginManager.createAliasesForInvokables(array $invokables)
  • removed: protected method RoutePluginManager.createFactoriesForInvokables(array $invokables)
  • removed: protected method SimpleRouteStack.init()
  • removed: protected method SimpleRouteStack.routeFromArray($specs)
  • removed: protected property RouteInvokableFactory.creationOptions
  • removed: protected property RouteMatch.matchedRouteName
  • removed: protected property RouteMatch.params
  • removed: protected property RoutePluginManager.instanceOf
  • removed: protected property RoutePluginManager.shareByDefault
  • removed: protected property RoutePluginManager.sharedByDefault
  • removed: protected property SimpleRouteStack.defaultParams
  • removed: protected property SimpleRouteStack.routePluginManager
  • removed: protected property SimpleRouteStack.routes
  • removed: static method RouteInterface.factory($options = …)
  • removed: static method SimpleRouteStack.factory($options = …)
  • removed: class Catchall implements RouteInterface
  • removed: class RouteMatch extends BaseRouteMatch
  • removed: class Simple implements RouteInterface
  • removed: class SimpleRouteStack extends BaseSimpleRouteStack
  • removed: constructor Catchall(array $defaults = …)
  • removed: constructor RouteMatch(array $params, $length = …)
  • removed: constructor Simple($routeOrRouteMatcher, array $constraints = …, array $defaults = …, array $aliases = …, $filters = …, $validators = …)
  • removed: interface RouteInterface extends BaseRoute
  • removed: method Catchall.assemble(array $params = …, array $options = …)
  • removed: method Catchall.getAssembledParams()
  • removed: method Catchall.match(Request $request)
  • removed: method RouteInterface.getAssembledParams()
  • removed: method RouteMatch.getLength()
  • removed: method RouteMatch.merge(RouteMatch $match)
  • removed: method RouteMatch.setMatchedRouteName($name)
  • removed: method Simple.assemble(array $params = …, array $options = …)
  • removed: method Simple.getAssembledParams()
  • removed: method Simple.match(Request $request, $pathOffset = …)
  • removed: method SimpleRouteStack.addRoute($name, $route, $priority = …)
  • removed: protected method SimpleRouteStack.init()
  • removed: protected method SimpleRouteStack.routeFromArray($specs)
  • removed: protected property Catchall.aliases
  • removed: protected property Catchall.assembledParams
  • removed: protected property Catchall.defaults
  • removed: protected property Catchall.filters
  • removed: protected property Catchall.parts
  • removed: protected property Catchall.validators
  • removed: protected property RouteMatch.length
  • removed: protected property Simple.assembledParams
  • removed: protected property Simple.matcher
  • removed: static method Catchall.factory($options = …)
  • removed: static method Simple.factory($options = …)
  • removed: class InvalidArgumentException extends Exception\InvalidArgumentException implements ExceptionInterface
  • removed: class RuntimeException extends Exception\RuntimeException implements ExceptionInterface
  • removed: interface ExceptionInterface extends Exception
  • removed: class Chain extends TreeRouteStack implements RouteInterface
  • removed: class Hostname implements RouteInterface
  • removed: class Literal implements RouteInterface
  • removed: class Method implements RouteInterface
  • removed: class Part extends TreeRouteStack implements RouteInterface
  • removed: class Query implements RouteInterface
  • removed: class Regex implements RouteInterface
  • removed: class RouteMatch extends BaseRouteMatch
  • removed: class Scheme implements RouteInterface
  • removed: class Segment implements RouteInterface
  • removed: class TranslatorAwareTreeRouteStack extends TreeRouteStack implements TranslatorAwareInterface
  • removed: class TreeRouteStack extends SimpleRouteStack
  • removed: class Wildcard implements RouteInterface
  • removed: constructor Chain(array $routes, RoutePluginManager $routePlugins, ArrayObject $prototypes = …)
  • removed: constructor Hostname($route, array $constraints = …, array $defaults = …)
  • removed: constructor Literal($route, array $defaults = …)
  • removed: constructor Method($verb, array $defaults = …)
  • removed: constructor Part($route, $mayTerminate, RoutePluginManager $routePlugins, array $childRoutes = …, ArrayObject $prototypes = …)
  • removed: constructor Query(array $defaults = …)
  • removed: constructor Regex($regex, $spec, array $defaults = …)
  • removed: constructor RouteMatch(array $params, $length = …)
  • removed: constructor Scheme($scheme, array $defaults = …)
  • removed: constructor Segment($route, array $constraints = …, array $defaults = …)
  • removed: constructor Wildcard($keyValueDelimiter = …, $paramDelimiter = …, array $defaults = …)
  • removed: interface RouteInterface extends BaseRoute
  • removed: method Chain.assemble(array $params = …, array $options = …)
  • removed: method Chain.getAssembledParams()
  • removed: method Chain.match(Request $request, $pathOffset = …, array $options = …)
  • removed: method Hostname.assemble(array $params = …, array $options = …)
  • removed: method Hostname.getAssembledParams()
  • removed: method Hostname.match(Request $request)
  • removed: method Literal.assemble(array $params = …, array $options = …)
  • removed: method Literal.getAssembledParams()
  • removed: method Literal.match(Request $request, $pathOffset = …)
  • removed: method Method.assemble(array $params = …, array $options = …)
  • removed: method Method.getAssembledParams()
  • removed: method Method.match(Request $request)
  • removed: method Part.assemble(array $params = …, array $options = …)
  • removed: method Part.getAssembledParams()
  • removed: method Part.match(Request $request, $pathOffset = …, array $options = …)
  • removed: method Query.assemble(array $params = …, array $options = …)
  • removed: method Query.getAssembledParams()
  • removed: method Query.match(Request $request)
  • removed: method Regex.assemble(array $params = …, array $options = …)
  • removed: method Regex.getAssembledParams()
  • removed: method Regex.match(Request $request, $pathOffset = …)
  • removed: method RouteInterface.getAssembledParams()
  • removed: method RouteMatch.getLength()
  • removed: method RouteMatch.merge(RouteMatch $match)
  • removed: method RouteMatch.setMatchedRouteName($name)
  • removed: method Scheme.assemble(array $params = …, array $options = …)
  • removed: method Scheme.getAssembledParams()
  • removed: method Scheme.match(Request $request)
  • removed: method Segment.assemble(array $params = …, array $options = …)
  • removed: method Segment.getAssembledParams()
  • removed: method Segment.match(Request $request, $pathOffset = …, array $options = …)
  • removed: method TranslatorAwareTreeRouteStack.assemble(array $params = …, array $options = …)
  • removed: method TranslatorAwareTreeRouteStack.getTranslator()
  • removed: method TranslatorAwareTreeRouteStack.getTranslatorTextDomain()
  • removed: method TranslatorAwareTreeRouteStack.hasTranslator()
  • removed: method TranslatorAwareTreeRouteStack.isTranslatorEnabled()
  • removed: method TranslatorAwareTreeRouteStack.match(Request $request, $pathOffset = …, array $options = …)
  • removed: method TranslatorAwareTreeRouteStack.setTranslator(Translator $translator = …, $textDomain = …)
  • removed: method TranslatorAwareTreeRouteStack.setTranslatorEnabled($enabled = …)
  • removed: method TranslatorAwareTreeRouteStack.setTranslatorTextDomain($textDomain = …)
  • removed: method TreeRouteStack.addPrototype($name, $route)
  • removed: method TreeRouteStack.addPrototypes($routes)
  • removed: method TreeRouteStack.addRoute($name, $route, $priority = …)
  • removed: method TreeRouteStack.assemble(array $params = …, array $options = …)
  • removed: method TreeRouteStack.getBaseUrl()
  • removed: method TreeRouteStack.getPrototype($name)
  • removed: method TreeRouteStack.getRequestUri()
  • removed: method TreeRouteStack.match(Request $request, $pathOffset = …, array $options = …)
  • removed: method TreeRouteStack.setBaseUrl($baseUrl)
  • removed: method TreeRouteStack.setRequestUri(HttpUri $uri)
  • removed: method Wildcard.assemble(array $params = …, array $options = …)
  • removed: method Wildcard.getAssembledParams()
  • removed: method Wildcard.match(Request $request, $pathOffset = …)
  • removed: protected method Hostname.buildHost(array $parts, array $mergedParams, $isOptional)
  • removed: protected method Hostname.buildRegex(array $parts, array $constraints, &$groupIndex = …)
  • removed: protected method Hostname.parseRouteDefinition($def)
  • removed: protected method Part.hasQueryChild()
  • removed: protected method Query.recursiveUrldecode(array $array)
  • removed: protected method Segment.buildPath(array $parts, array $mergedParams, $isOptional, $hasChild, array $options)
  • removed: protected method Segment.buildRegex(array $parts, array $constraints, &$groupIndex = …)
  • removed: protected method Segment.decode($value)
  • removed: protected method Segment.encode($value)
  • removed: protected method Segment.parseRouteDefinition($def)
  • removed: protected method TreeRouteStack.init()
  • removed: protected method TreeRouteStack.routeFromArray($specs)
  • removed: protected property Chain.assembledParams
  • removed: protected property Chain.chainRoutes
  • removed: protected property Hostname.assembledParams
  • removed: protected property Hostname.defaults
  • removed: protected property Hostname.paramMap
  • removed: protected property Hostname.parts
  • removed: protected property Hostname.regex
  • removed: protected property Literal.defaults
  • removed: protected property Literal.route
  • removed: protected property Method.defaults
  • removed: protected property Method.verb
  • removed: protected property Part.childRoutes
  • removed: protected property Part.mayTerminate
  • removed: protected property Part.route
  • removed: protected property Query.assembledParams
  • removed: protected property Query.defaults
  • removed: protected property Regex.assembledParams
  • removed: protected property Regex.defaults
  • removed: protected property Regex.regex
  • removed: protected property Regex.spec
  • removed: protected property RouteMatch.length
  • removed: protected property Scheme.defaults
  • removed: protected property Scheme.scheme
  • removed: protected property Segment.assembledParams
  • removed: protected property Segment.defaults
  • removed: protected property Segment.paramMap
  • removed: protected property Segment.parts
  • removed: protected property Segment.regex
  • removed: protected property Segment.translationKeys
  • removed: protected property TranslatorAwareTreeRouteStack.translator
  • removed: protected property TranslatorAwareTreeRouteStack.translatorEnabled
  • removed: protected property TranslatorAwareTreeRouteStack.translatorTextDomain
  • removed: protected property TreeRouteStack.baseUrl
  • removed: protected property TreeRouteStack.prototypes
  • removed: protected property TreeRouteStack.requestUri
  • removed: protected property Wildcard.assembledParams
  • removed: protected property Wildcard.defaults
  • removed: protected property Wildcard.keyValueDelimiter
  • removed: protected property Wildcard.paramDelimiter
  • removed: protected static property Segment.cacheEncode
  • removed: protected static property Segment.urlencodeCorrectionMap
  • removed: static method Chain.factory($options = …)
  • removed: static method Hostname.factory($options = …)
  • removed: static method Literal.factory($options = …)
  • removed: static method Method.factory($options = …)
  • removed: static method Part.factory($options = …)
  • removed: static method Query.factory($options = …)
  • removed: static method Regex.factory($options = …)
  • removed: static method Scheme.factory($options = …)
  • removed: static method Segment.factory($options = …)
  • removed: static method TreeRouteStack.factory($options = …)
  • removed: static method Wildcard.factory($options = …)
  • removed: class ConsoleAdapterFactory implements FactoryInterface
  • removed: class ConsoleExceptionStrategyFactory implements FactoryInterface
  • removed: class ConsoleRouteNotFoundStrategyFactory implements FactoryInterface
  • removed: class ConsoleRouterFactory implements FactoryInterface
  • removed: class ConsoleViewManagerFactory implements FactoryInterface
  • removed: class ControllerLoaderFactory implements FactoryInterface
  • removed: class DiAbstractServiceFactoryFactory implements FactoryInterface
  • removed: class DiFactory implements FactoryInterface
  • removed: class DiServiceInitializerFactory implements FactoryInterface
  • removed: class DiStrictAbstractServiceFactory extends Di implements AbstractFactoryInterface
  • removed: class DiStrictAbstractServiceFactoryFactory implements FactoryInterface
  • removed: class FilterManagerFactory extends AbstractPluginManagerFactory
  • removed: class FormAnnotationBuilderFactory implements FactoryInterface
  • removed: class FormElementManagerFactory extends AbstractPluginManagerFactory
  • removed: class HttpRouterFactory implements FactoryInterface
  • removed: class HydratorManagerFactory extends AbstractPluginManagerFactory
  • removed: class InputFilterManagerFactory extends AbstractPluginManagerFactory
  • removed: class LogProcessorManagerFactory extends AbstractPluginManagerFactory
  • removed: class LogWriterManagerFactory extends AbstractPluginManagerFactory
  • removed: class RoutePluginManagerFactory extends AbstractPluginManagerFactory
  • removed: class RouterFactory implements FactoryInterface
  • removed: class SerializerAdapterPluginManagerFactory extends AbstractPluginManagerFactory
  • removed: class TranslatorPluginManagerFactory extends AbstractPluginManagerFactory
  • removed: class TranslatorServiceFactory implements FactoryInterface
  • removed: class ValidatorManagerFactory extends AbstractPluginManagerFactory
  • removed: const DiStrictAbstractServiceFactory.USE_SL_AFTER_DI
  • removed: const DiStrictAbstractServiceFactory.USE_SL_BEFORE_DI
  • removed: const DiStrictAbstractServiceFactory.USE_SL_NONE
  • removed: const FilterManagerFactory.PLUGIN_MANAGER_CLASS
  • removed: const FormElementManagerFactory.PLUGIN_MANAGER_CLASS
  • removed: const HydratorManagerFactory.PLUGIN_MANAGER_CLASS
  • removed: const InputFilterManagerFactory.PLUGIN_MANAGER_CLASS
  • removed: const LogProcessorManagerFactory.PLUGIN_MANAGER_CLASS
  • removed: const LogWriterManagerFactory.PLUGIN_MANAGER_CLASS
  • removed: const RoutePluginManagerFactory.PLUGIN_MANAGER_CLASS
  • removed: const SerializerAdapterPluginManagerFactory.PLUGIN_MANAGER_CLASS
  • removed: const TranslatorPluginManagerFactory.PLUGIN_MANAGER_CLASS
  • removed: const ValidatorManagerFactory.PLUGIN_MANAGER_CLASS
  • removed: constructor DiStrictAbstractServiceFactory(Di $di, $useContainer = …)
  • removed: constructor ServiceListenerFactory()
  • removed: method AbstractPluginManagerFactory.createService(ServiceLocatorInterface $container)
  • removed: method ApplicationFactory.createService(ServiceLocatorInterface $container)
  • removed: method ConfigFactory.createService(ServiceLocatorInterface $container)
  • removed: method ConsoleAdapterFactory.__invoke(ContainerInterface $container, $name, array $options = …)
  • removed: method ConsoleAdapterFactory.createService(ServiceLocatorInterface $container)
  • removed: method ConsoleExceptionStrategyFactory.__invoke(ContainerInterface $container, $name, array $options = …)
  • removed: method ConsoleExceptionStrategyFactory.createService(ServiceLocatorInterface $container)
  • removed: method ConsoleRouteNotFoundStrategyFactory.__invoke(ContainerInterface $container, $name, array $options = …)
  • removed: method ConsoleRouteNotFoundStrategyFactory.createService(ServiceLocatorInterface $container)
  • removed: method ConsoleRouterFactory.__invoke(ContainerInterface $container, $name, array $options = …)
  • removed: method ConsoleRouterFactory.createService(ServiceLocatorInterface $container)
  • removed: method ConsoleViewManagerFactory.__invoke(ContainerInterface $container, $name, array $options = …)
  • removed: method ConsoleViewManagerFactory.createService(ServiceLocatorInterface $container)
  • removed: method ControllerLoaderFactory.createService(ServiceLocatorInterface $serviceLocator)
  • removed: method ControllerManagerFactory.createService(ServiceLocatorInterface $container)
  • removed: method DiAbstractServiceFactoryFactory.__invoke(ContainerInterface $container, $name, array $options = …)
  • removed: method DiAbstractServiceFactoryFactory.createService(ServiceLocatorInterface $container)
  • removed: method DiFactory.__invoke(ContainerInterface $container, $name, array $options = …)
  • removed: method DiFactory.createService(ServiceLocatorInterface $container)
  • removed: method DiServiceInitializerFactory.__invoke(ContainerInterface $container, $requestedName, array $options = …)
  • removed: method DiServiceInitializerFactory.createService(ServiceLocatorInterface $container)
  • removed: method DiStrictAbstractServiceFactory.__invoke(ContainerInterface $container, $name, array $options = …)
  • removed: method DiStrictAbstractServiceFactory.canCreate(ContainerInterface $container, $requestedName)
  • removed: method DiStrictAbstractServiceFactory.canCreateServiceWithName(ServiceLocatorInterface $container, $name, $requestedName)
  • removed: method DiStrictAbstractServiceFactory.createServiceWithName(ServiceLocatorInterface $container, $serviceName, $requestedName)
  • removed: method DiStrictAbstractServiceFactory.get($name, array $params = …)
  • removed: method DiStrictAbstractServiceFactory.getAllowedServiceNames()
  • removed: method DiStrictAbstractServiceFactory.setAllowedServiceNames(array $allowedServiceNames)
  • removed: method DiStrictAbstractServiceFactoryFactory.__invoke(ContainerInterface $container, $name, array $options = …)
  • removed: method DiStrictAbstractServiceFactoryFactory.createService(ServiceLocatorInterface $container)
  • removed: method DispatchListenerFactory.createService(ServiceLocatorInterface $container)
  • removed: method EventManagerFactory.createService(ServiceLocatorInterface $container)
  • removed: method FormAnnotationBuilderFactory.__invoke(ContainerInterface $container, $name, array $options = …)
  • removed: method FormAnnotationBuilderFactory.createService(ServiceLocatorInterface $container)
  • removed: method HttpDefaultRenderingStrategyFactory.createService(ServiceLocatorInterface $container)
  • removed: method HttpExceptionStrategyFactory.createService(ServiceLocatorInterface $container)
  • removed: method HttpMethodListenerFactory.createService(ServiceLocatorInterface $container)
  • removed: method HttpRouteNotFoundStrategyFactory.createService(ServiceLocatorInterface $container)
  • removed: method HttpRouterFactory.__invoke(ContainerInterface $container, $name, array $options = …)
  • removed: method HttpRouterFactory.createService(ServiceLocatorInterface $container)
  • removed: method HttpViewManagerFactory.createService(ServiceLocatorInterface $container)
  • removed: method InjectTemplateListenerFactory.createService(ServiceLocatorInterface $container)
  • removed: method ModuleManagerFactory.createService(ServiceLocatorInterface $container)
  • removed: method RequestFactory.createService(ServiceLocatorInterface $container)
  • removed: method ResponseFactory.createService(ServiceLocatorInterface $container)
  • removed: method RouterFactory.__invoke(ContainerInterface $container, $name, array $options = …)
  • removed: method RouterFactory.createService(ServiceLocatorInterface $container, $normalizedName = …, $requestedName = …)
  • removed: method ServiceListenerFactory.createService(ServiceLocatorInterface $container)
  • removed: method TranslatorServiceFactory.__invoke(ContainerInterface $container, $name, array $options = …)
  • removed: method TranslatorServiceFactory.createService(ServiceLocatorInterface $container)
  • removed: method ViewFactory.createService(ServiceLocatorInterface $container)
  • removed: method ViewFeedStrategyFactory.createService(ServiceLocatorInterface $container)
  • removed: method ViewJsonStrategyFactory.createService(ServiceLocatorInterface $container)
  • removed: method ViewManagerFactory.createService(ServiceLocatorInterface $container)
  • removed: method ViewPhpRendererFactory.createService(ServiceLocatorInterface $container)
  • removed: method ViewPhpRendererStrategyFactory.createService(ServiceLocatorInterface $container)
  • removed: method ViewPrefixPathStackResolverFactory.createService(ServiceLocatorInterface $container)
  • removed: method ViewResolverFactory.createService(ServiceLocatorInterface $container)
  • removed: method ViewTemplateMapResolverFactory.createService(ServiceLocatorInterface $container)
  • removed: method ViewTemplatePathStackFactory.createService(ServiceLocatorInterface $container)
  • removed: protected property DiStrictAbstractServiceFactory.allowedServiceNames
  • removed: protected property DiStrictAbstractServiceFactory.container
  • removed: protected property DiStrictAbstractServiceFactory.di
  • removed: protected property DiStrictAbstractServiceFactory.useContainer
  • removed: trait ConsoleViewManagerConfigTrait
  • removed: trait RouterConfigTrait
  • added: class SendResponseListenerFactory
  • added: method SendResponseListenerFactory.__invoke(ContainerInterface $container)
  • removed: class SendResponseListener extends MvcSendResponseListener
  • removed: class CreateViewModelListener extends AbstractListenerAggregate
  • removed: class DefaultRenderingStrategy extends AbstractListenerAggregate
  • removed: class ExceptionStrategy extends AbstractListenerAggregate
  • removed: class InjectNamedConsoleParamsListener extends AbstractListenerAggregate
  • removed: class InjectViewModelListener extends HttpInjectViewModelListener
  • removed: class RouteNotFoundStrategy extends AbstractListenerAggregate
  • removed: class ViewManager extends BaseViewManager
  • removed: method CreateViewModelListener.attach(Events $events, $priority = …)
  • removed: method CreateViewModelListener.createViewModelFromArray(MvcEvent $e)
  • removed: method CreateViewModelListener.createViewModelFromNull(MvcEvent $e)
  • removed: method CreateViewModelListener.createViewModelFromString(MvcEvent $e)
  • removed: method DefaultRenderingStrategy.attach(EventManagerInterface $events, $priority = …)
  • removed: method DefaultRenderingStrategy.render(MvcEvent $e)
  • removed: method ExceptionStrategy.attach(EventManagerInterface $events, $priority = …)
  • removed: method ExceptionStrategy.displayExceptions()
  • removed: method ExceptionStrategy.getMessage()
  • removed: method ExceptionStrategy.getPreviousMessage()
  • removed: method ExceptionStrategy.prepareExceptionViewModel(MvcEvent $e)
  • removed: method ExceptionStrategy.setDisplayExceptions($displayExceptions)
  • removed: method ExceptionStrategy.setMessage($message)
  • removed: method ExceptionStrategy.setPreviousMessage($previousMessage)
  • removed: method InjectNamedConsoleParamsListener.attach(Events $events, $priority = …)
  • removed: method InjectNamedConsoleParamsListener.injectNamedParams(MvcEvent $e)
  • removed: method RouteNotFoundStrategy.attach(EventManagerInterface $events, $priority = …)
  • removed: method RouteNotFoundStrategy.displayNotFoundReason()
  • removed: method RouteNotFoundStrategy.handleRouteNotFoundError(MvcEvent $e)
  • removed: method RouteNotFoundStrategy.setDisplayNotFoundReason($displayNotFoundReason)
  • removed: method ViewManager.onBootstrap($event)
  • removed: protected method RouteNotFoundStrategy.getConsoleBanner(ConsoleAdapter $console, ModuleManagerInterface $moduleManager = …)
  • removed: protected method RouteNotFoundStrategy.getConsoleUsage(ConsoleAdapter $console, $scriptName, ModuleManagerInterface $moduleManager = …)
  • removed: protected method RouteNotFoundStrategy.renderTable($data, $cols, $consoleWidth)
  • removed: protected method RouteNotFoundStrategy.reportNotFoundReason($e)
  • removed: protected property ExceptionStrategy.displayExceptions
  • removed: protected property ExceptionStrategy.message
  • removed: protected property ExceptionStrategy.previousMessage
  • removed: protected property RouteNotFoundStrategy.displayNotFoundReason
  • removed: protected property RouteNotFoundStrategy.reason
  • removed: protected method InjectTemplateListener.deriveControllerSubNamespace($namespace)
  • removed: protected method InjectTemplateListener.deriveModuleNamespace($controller)
  • removed: protected property InjectTemplateListener.inflector