- <?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'
- );
-
- $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;
- }
- }
# |
Change |
User |
Description |
Committed |
|
#1
|
18334 |
Liz Lam |
initial add of jambox |
9 years ago
|
|