/monica/vendor/zendframework/zendframework/library/Zend/Mvc/Service/ModuleManagerFactory.php
PHP | 107 lines | 77 code | 9 blank | 21 comment | 1 complexity | b72e68ad0d5cf3773a0145c4d7b358ad MD5 | raw file
Possible License(s): BSD-3-Clause
- <?php
- /**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2013 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'
- );
- $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;
- }
- }