Migration
In This Article
Version 2 to Version 3
zend-mvc-console ports all console functionality from zend-mvc and zend-view v2 releases to a single component. As such, a number of classes were renamed that may impact end-users.
zend-mvc Functionality
AbstractConsoleController
Zend\Mvc\Controller\AbstractConsoleController
becomes
Zend\Mvc\Console\Controller\AbstractConsoleController
. Otherwise, all
functionality remains the same.
Update your code to import the AbstractConsoleController
under its new
namespace.
Routing
The namespace Zend\Mvc\Router\Console
becomes Zend\Mvc\Console\Router
. All
classes retain existing functionality. If you were using default routes
(Simple
) or using the short names to refer to console routes, no changes will
be necessary. Otherwise, update your code to refer to the new namespace.
ResponseSender
Zend\Mvc\ResponseSender\ConsoleResponseSender
becomes
Zend\Mvc\Console\ResponseSender\ConsoleResponseSender
. As this is an
implementation detail, it should have no impact on the end-user.
Listeners
The Zend\Mvc\View\Console
namespace becomes Zend\Mvc\Console\View
, but all
existing listeners retain their names and functionality. As these were all
managed by the console-specific ViewManager
, this change should have no impact
on the end-user unless:
- any of these classes were being extended
- any custom factories were being used to provide the services (specifically the
ConsoleRouteNotFoundStrategy
,ConsoleExceptionStrategy
, andConsoleDefaultRenderingStrategy
).
In such cases, you will need to update your code to reference the new namespace.
zend-view Functionality
ViewModel
zend-view provided a Zend\View\Model\ConsoleModel
class. This is now
Zend\Mvc\Console\View\ViewModel
. If you were returning ConsoleModel
previously, update your code to return the new version.
Renderer
zend-view provided a Zend\View\Renderer\ConsoleRenderer
class. This is now
Zend\Mvc\Console\View\Renderer
. Additionally, the console-specific
DefaultRenderingStrategy
now consumes the renderer (it did not in version 2).
Found a mistake or want to contribute to the documentation? Edit this page on GitHub!