[ 'module_paths' => [], ], 'modules' => [ 'Zend\Router', 'Zend\Validator', ], ]; foreach ($modules as $key => $module) { if (is_numeric($key)) { $configuration['modules'][] = $module; continue; } $configuration['modules'][] = $key; $configuration['module_listener_options']['module_paths'][$key] = $module; } } $smConfig = isset($configuration['service_manager']) ? $configuration['service_manager'] : []; $this->serviceManager = new ServiceManager(); (new Service\ServiceManagerConfig($smConfig))->configureServiceManager($this->serviceManager); $this->serviceManager->setService('ApplicationConfig', $configuration); $this->serviceManager->get('ModuleManager')->loadModules(); } /** * Get the application * * @return \Zend\Mvc\Application */ public function getApplication() { return $this->getServiceManager()->get('Application'); } /** * Get the module manager * * @return \Zend\ModuleManager\ModuleManager */ public function getModuleManager() { return $this->getServiceManager()->get('ModuleManager'); } /** * Get module by name * * @param $moduleName * @return mixed */ public function getModule($moduleName) { return $this->getModuleManager()->getModule($moduleName); } /** * Get the service manager * * @return ServiceManager */ public function getServiceManager() { return $this->serviceManager; } }