Source of file ModuleManagerFactory.php
Size: 5,099 Bytes - Last Modified: 2014-03-12T23:21:18+01:00
/home/theseer/Downloads/ZendFramework-2.3.0/library/Zend/Mvc/Service/ModuleManagerFactory.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 | <?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\Mvc\Service; use Zend\ModuleManager\Listener\DefaultListenerAggregate; use Zend\ModuleManager\Listener\ListenerOptions; use Zend\ModuleManager\ModuleEvent; use Zend\ModuleManager\ModuleManager; use Zend\ServiceManager\FactoryInterface; use Zend\ServiceManager\ServiceLocatorInterface; class ModuleManagerFactory implements FactoryInterface { /** * Creates and returns the module manager * * Instantiates the default module listeners, providing them configuration * from the "module_listener_options" key of the ApplicationConfig * service. Also sets the default config glob path. * * Module manager is instantiated and provided with an EventManager, to which * the default listener aggregate is attached. The ModuleEvent is also created * and attached to the module manager. * * @param ServiceLocatorInterface $serviceLocator * @return ModuleManager */ public function createService(ServiceLocatorInterface $serviceLocator) { if (!$serviceLocator->has('ServiceListener')) { $serviceLocator->setFactory('ServiceListener', 'Zend\Mvc\Service\ServiceListenerFactory'); } $configuration = $serviceLocator->get('ApplicationConfig'); $listenerOptions = new ListenerOptions($configuration['module_listener_options']); $defaultListeners = new DefaultListenerAggregate($listenerOptions); $serviceListener = $serviceLocator->get('ServiceListener'); $serviceListener->addServiceManager( $serviceLocator, 'service_manager', 'Zend\ModuleManager\Feature\ServiceProviderInterface', 'getServiceConfig' ); $serviceListener->addServiceManager( 'ControllerLoader', 'controllers', 'Zend\ModuleManager\Feature\ControllerProviderInterface', 'getControllerConfig' ); $serviceListener->addServiceManager( 'ControllerPluginManager', 'controller_plugins', 'Zend\ModuleManager\Feature\ControllerPluginProviderInterface', 'getControllerPluginConfig' ); $serviceListener->addServiceManager( 'ViewHelperManager', 'view_helpers', 'Zend\ModuleManager\Feature\ViewHelperProviderInterface', 'getViewHelperConfig' ); $serviceListener->addServiceManager( 'ValidatorManager', 'validators', 'Zend\ModuleManager\Feature\ValidatorProviderInterface', 'getValidatorConfig' ); $serviceListener->addServiceManager( 'FilterManager', 'filters', 'Zend\ModuleManager\Feature\FilterProviderInterface', 'getFilterConfig' ); $serviceListener->addServiceManager( 'FormElementManager', 'form_elements', 'Zend\ModuleManager\Feature\FormElementProviderInterface', 'getFormElementConfig' ); $serviceListener->addServiceManager( 'RoutePluginManager', 'route_manager', 'Zend\ModuleManager\Feature\RouteProviderInterface', 'getRouteConfig' ); $serviceListener->addServiceManager( 'SerializerAdapterManager', 'serializers', 'Zend\ModuleManager\Feature\SerializerProviderInterface', 'getSerializerConfig' ); $serviceListener->addServiceManager( 'HydratorManager', 'hydrators', 'Zend\ModuleManager\Feature\HydratorProviderInterface', 'getHydratorConfig' ); $serviceListener->addServiceManager( 'InputFilterManager', 'input_filters', 'Zend\ModuleManager\Feature\InputFilterProviderInterface', 'getInputFilterConfig' ); $serviceListener->addServiceManager( 'LogProcessorManager', 'log_processors', 'Zend\ModuleManager\Feature\LogProcessorProviderInterface', 'getLogProcessorConfig' ); $serviceListener->addServiceManager( 'LogWriterManager', 'log_writers', 'Zend\ModuleManager\Feature\LogWritersProviderInterface', 'getLogWriterConfig' ); $events = $serviceLocator->get('EventManager'); $events->attach($defaultListeners); $events->attach($serviceListener); $moduleEvent = new ModuleEvent; $moduleEvent->setParam('ServiceManager', $serviceLocator); $moduleManager = new ModuleManager($configuration['modules'], $events); $moduleManager->setEvent($moduleEvent); return $moduleManager; } } |