<?php namespace Laminas\Mvc\Service; use Interop\Container\ContainerInterface; use Laminas\ServiceManager\Factory\FactoryInterface; use Traversable; class ConfigFactory implements FactoryInterface { /** * Create the application configuration service * * Retrieves the Module Manager from the service locator, and executes * {@link Laminas\ModuleManager\ModuleManager::loadModules()}. * * It then retrieves the config listener from the module manager, and from * that the merged configuration. * * @param ContainerInterface $container * @param string $name * @param null|array $options * @return array|Traversable */ public function __invoke(ContainerInterface $container, $name, array $options = null) { $moduleManager = $container->get('ModuleManager'); $moduleManager->loadModules(); $moduleParams = $moduleManager->getEvent()->getParams(); return $moduleParams['configListener']->getMergedConfig(false); } }