diff --git a/src/Service/ServiceListenerFactory.php b/src/Service/ServiceListenerFactory.php index 4416fb6e8..59e0e04dc 100644 --- a/src/Service/ServiceListenerFactory.php +++ b/src/Service/ServiceListenerFactory.php @@ -8,8 +8,12 @@ namespace Zend\Mvc\Service; use Interop\Container\ContainerInterface; +use Zend\Http\PhpEnvironment\Request as HttpRequest; +use Zend\Http\PhpEnvironment\Response as HttpResponse; use Zend\ModuleManager\Listener\ServiceListener; use Zend\ModuleManager\Listener\ServiceListenerInterface; +use Zend\Mvc\Controller\ControllerManager; +use Zend\Mvc\Controller\PluginManager as ControllerPluginManager; use Zend\Mvc\View; use Zend\ServiceManager\Exception\ServiceNotCreatedException; use Zend\ServiceManager\Factory\FactoryInterface; @@ -35,62 +39,76 @@ class ServiceListenerFactory implements FactoryInterface */ protected $defaultServiceConfig = [ 'aliases' => [ - 'application' => 'Application', + 'application' => \Zend\Mvc\Application::class, + 'Application' => \Zend\Mvc\Application::class, 'Config' => 'config', 'configuration' => 'config', 'Configuration' => 'config', + 'ControllerManager' => ControllerManager::class, + 'ControllerPluginManager' => ControllerPluginManager::class, + 'DispatchListener' => \Zend\Mvc\DispatchListener::class, 'HttpDefaultRenderingStrategy' => View\Http\DefaultRenderingStrategy::class, - 'MiddlewareListener' => 'Zend\Mvc\MiddlewareListener', - 'request' => 'Request', - 'response' => 'Response', - 'RouteListener' => 'Zend\Mvc\RouteListener', - 'SendResponseListener' => 'Zend\Mvc\SendResponseListener', - 'View' => 'Zend\View\View', - 'ViewFeedRenderer' => 'Zend\View\Renderer\FeedRenderer', - 'ViewJsonRenderer' => 'Zend\View\Renderer\JsonRenderer', - 'ViewPhpRendererStrategy' => 'Zend\View\Strategy\PhpRendererStrategy', - 'ViewPhpRenderer' => 'Zend\View\Renderer\PhpRenderer', - 'ViewRenderer' => 'Zend\View\Renderer\PhpRenderer', - 'Zend\Mvc\Controller\PluginManager' => 'ControllerPluginManager', - 'Zend\Mvc\View\Http\InjectTemplateListener' => 'InjectTemplateListener', - 'Zend\View\Renderer\RendererInterface' => 'Zend\View\Renderer\PhpRenderer', - 'Zend\View\Resolver\TemplateMapResolver' => 'ViewTemplateMapResolver', - 'Zend\View\Resolver\TemplatePathStack' => 'ViewTemplatePathStack', - 'Zend\View\Resolver\AggregateResolver' => 'ViewResolver', - 'Zend\View\Resolver\ResolverInterface' => 'ViewResolver', + 'HttpExceptionStrategy' => View\Http\ExceptionStrategy::class, + 'HttpMethodListener' => \Zend\Mvc\HttpMethodListener::class, + 'HttpRouteNotFoundStrategy' => View\Http\RouteNotFoundStrategy::class, + 'HttpViewManager' => View\Http\ViewManager::class, + 'InjectTemplateListener' => View\Http\InjectTemplateListener::class, + 'MiddlewareListener' => \Zend\Mvc\MiddlewareListener::class, + 'request' => HttpRequest::class, + 'Request' => HttpRequest::class, + 'response' => HttpResponse::class, + 'Response' => HttpResponse::class, + 'RouteListener' => \Zend\Mvc\RouteListener::class, + 'SendResponseListener' => \Zend\Mvc\SendResponseListener::class, + 'View' => \Zend\View\View::class, + 'ViewFeedStrategy' => \Zend\View\Strategy\FeedStrategy::class, + 'ViewFeedRenderer' => \Zend\View\Renderer\FeedRenderer::class, + 'ViewHelperManager' => \Zend\View\HelperPluginManager::class, + 'ViewJsonStrategy' => \Zend\View\Strategy\JsonStrategy::class, + 'ViewJsonRenderer' => \Zend\View\Renderer\JsonRenderer::class, + 'ViewManager' => View\Http\ViewManager::class, + 'ViewPhpRenderer' => \Zend\View\Renderer\PhpRenderer::class, + 'ViewPhpRendererStrategy' => \Zend\View\Strategy\PhpRendererStrategy::class, + 'ViewPrefixPathStackResolver' => \Zend\View\Resolver\PrefixPathStackResolver::class, + 'ViewRenderer' => \Zend\View\Renderer\PhpRenderer::class, + 'ViewResolver' => \Zend\View\Resolver\AggregateResolver::class, + 'ViewTemplateMapResolver' => \Zend\View\Resolver\TemplateMapResolver::class, + 'ViewTemplatePathStack' => \Zend\View\Resolver\TemplatePathStack::class, + \Zend\View\Renderer\RendererInterface::class => \Zend\View\Renderer\PhpRenderer::class, + \Zend\View\Resolver\ResolverInterface::class => \Zend\View\Resolver\AggregateResolver::class, + 'Zend\View\ViewHelperManager' => \Zend\View\View::class, ], 'invokables' => [], 'factories' => [ - 'Application' => ApplicationFactory::class, - 'config' => 'Zend\Mvc\Service\ConfigFactory', - 'ControllerManager' => 'Zend\Mvc\Service\ControllerManagerFactory', - 'ControllerPluginManager' => 'Zend\Mvc\Service\ControllerPluginManagerFactory', - 'DispatchListener' => 'Zend\Mvc\Service\DispatchListenerFactory', - 'HttpExceptionStrategy' => HttpExceptionStrategyFactory::class, - 'HttpMethodListener' => 'Zend\Mvc\Service\HttpMethodListenerFactory', - 'HttpRouteNotFoundStrategy' => HttpRouteNotFoundStrategyFactory::class, - 'HttpViewManager' => 'Zend\Mvc\Service\HttpViewManagerFactory', - 'InjectTemplateListener' => 'Zend\Mvc\Service\InjectTemplateListenerFactory', - 'PaginatorPluginManager' => 'Zend\Mvc\Service\PaginatorPluginManagerFactory', - 'Request' => 'Zend\Mvc\Service\RequestFactory', - 'Response' => 'Zend\Mvc\Service\ResponseFactory', - 'ViewHelperManager' => 'Zend\Mvc\Service\ViewHelperManagerFactory', - View\Http\DefaultRenderingStrategy::class => HttpDefaultRenderingStrategyFactory::class, - 'ViewFeedStrategy' => 'Zend\Mvc\Service\ViewFeedStrategyFactory', - 'ViewJsonStrategy' => 'Zend\Mvc\Service\ViewJsonStrategyFactory', - 'ViewManager' => 'Zend\Mvc\Service\ViewManagerFactory', - 'ViewResolver' => 'Zend\Mvc\Service\ViewResolverFactory', - 'ViewTemplateMapResolver' => 'Zend\Mvc\Service\ViewTemplateMapResolverFactory', - 'ViewTemplatePathStack' => 'Zend\Mvc\Service\ViewTemplatePathStackFactory', - 'ViewPrefixPathStackResolver' => 'Zend\Mvc\Service\ViewPrefixPathStackResolverFactory', - 'Zend\Mvc\MiddlewareListener' => InvokableFactory::class, - 'Zend\Mvc\RouteListener' => InvokableFactory::class, - 'Zend\Mvc\SendResponseListener' => SendResponseListenerFactory::class, - 'Zend\View\Renderer\FeedRenderer' => InvokableFactory::class, - 'Zend\View\Renderer\JsonRenderer' => InvokableFactory::class, - 'Zend\View\Renderer\PhpRenderer' => ViewPhpRendererFactory::class, - 'Zend\View\Strategy\PhpRendererStrategy' => ViewPhpRendererStrategyFactory::class, - 'Zend\View\View' => ViewFactory::class, + 'config' => ConfigFactory::class, + 'PaginatorPluginManager' => PaginatorPluginManagerFactory::class, + ControllerManager::class => ControllerManagerFactory::class, + ControllerPluginManager::class => ControllerPluginManagerFactory::class, + HttpRequest::class => RequestFactory::class, + HttpResponse::class => ResponseFactory::class, + View\Http\DefaultRenderingStrategy::class => HttpDefaultRenderingStrategyFactory::class, + View\Http\ExceptionStrategy::class => HttpExceptionStrategyFactory::class, + View\Http\InjectTemplateListener::class => InjectTemplateListenerFactory::class, + View\Http\RouteNotFoundStrategy::class => HttpRouteNotFoundStrategyFactory::class, + View\Http\ViewManager::class => HttpViewManagerFactory::class, + \Zend\Mvc\Application::class => ApplicationFactory::class, + \Zend\Mvc\DispatchListener::class => DispatchListenerFactory::class, + \Zend\Mvc\HttpMethodListener::class => HttpMethodListenerFactory::class, + \Zend\Mvc\MiddlewareListener::class => InvokableFactory::class, + \Zend\Mvc\RouteListener::class => InvokableFactory::class, + \Zend\Mvc\SendResponseListener::class => SendResponseListenerFactory::class, + \Zend\View\Renderer\FeedRenderer::class => InvokableFactory::class, + \Zend\View\Renderer\JsonRenderer::class => InvokableFactory::class, + \Zend\View\Renderer\PhpRenderer::class => ViewPhpRendererFactory::class, + \Zend\View\Resolver\AggregateResolver::class => ViewResolverFactory::class, + \Zend\View\Resolver\PrefixPathStackResolver::class => ViewPrefixPathStackResolverFactory::class, + \Zend\View\Resolver\TemplateMapResolver::class => ViewTemplateMapResolverFactory::class, + \Zend\View\Resolver\TemplatePathStack::class => ViewTemplatePathStackFactory::class, + \Zend\View\Strategy\PhpRendererStrategy::class => ViewPhpRendererStrategyFactory::class, + \Zend\View\Strategy\FeedStrategy::class => ViewFeedStrategyFactory::class, + \Zend\View\Strategy\JsonStrategy::class => ViewJsonStrategyFactory::class, + \Zend\View\HelperPluginManager::class => ViewHelperManagerFactory::class, + \Zend\View\View::class => ViewFactory::class, ], ]; diff --git a/test/Application/InvalidControllerTypeTrait.php b/test/Application/InvalidControllerTypeTrait.php index 5478a638a..d65045508 100644 --- a/test/Application/InvalidControllerTypeTrait.php +++ b/test/Application/InvalidControllerTypeTrait.php @@ -55,10 +55,11 @@ public function prepareApplication() $serviceConfig, [ 'aliases' => [ - 'ControllerLoader' => 'ControllerManager', + 'ControllerLoader' => 'ControllerManagerClosure', + 'ControllerManager' => 'ControllerManagerClosure', ], 'factories' => [ - 'ControllerManager' => function ($services) { + 'ControllerManagerClosure' => function ($services) { return new ControllerManager($services, ['factories' => [ 'bad' => function () { return new stdClass(); diff --git a/test/ApplicationTest.php b/test/ApplicationTest.php index 35da58855..a502a9cc9 100644 --- a/test/ApplicationTest.php +++ b/test/ApplicationTest.php @@ -315,7 +315,7 @@ public function setupBadController($addService = true, $action = 'test') $router->addRoute('bad', $route); if ($addService) { - $this->serviceManager->setFactory('ControllerManager', function ($services) { + $this->serviceManager->setFactory(ControllerManager::class, function ($services) { return new ControllerManager($services, ['factories' => [ 'bad' => function () { return new Controller\TestAsset\BadController();