Zend\Mvc\Service\ModuleManagerFactory::__invoke PHP Method

__invoke() public method

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.
public __invoke ( Interop\Container\ContainerInterface $container, string $name, array $options = null ) : Zend\ModuleManager\ModuleManager
$container Interop\Container\ContainerInterface
$name string
$options array
return Zend\ModuleManager\ModuleManager
    public function __invoke(ContainerInterface $container, $name, array $options = null)
    {
        $configuration = $container->get('ApplicationConfig');
        $listenerOptions = new ListenerOptions($configuration['module_listener_options']);
        $defaultListeners = new DefaultListenerAggregate($listenerOptions);
        $serviceListener = $container->get('ServiceListener');
        $serviceListener->addServiceManager($container, 'service_manager', 'Zend\\ModuleManager\\Feature\\ServiceProviderInterface', 'getServiceConfig');
        $serviceListener->addServiceManager('ControllerManager', '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('RoutePluginManager', 'route_manager', 'Zend\\ModuleManager\\Feature\\RouteProviderInterface', 'getRouteConfig');
        $events = $container->get('EventManager');
        $defaultListeners->attach($events);
        $serviceListener->attach($events);
        $moduleEvent = new ModuleEvent();
        $moduleEvent->setParam('ServiceManager', $container);
        $moduleManager = new ModuleManager($configuration['modules'], $events);
        $moduleManager->setEvent($moduleEvent);
        return $moduleManager;
    }
ModuleManagerFactory