public function postModulesLoadsListener(\Zend\Module\ModuleEvent $event) { /** @var $cl \Zend\Module\Listener\ConfigMerger */ $cl = $event->getConfigListener(); $config = $cl->getMergedConfig(false); $this->config = array_merge($this->config, isset($config[__NAMESPACE__]) ? $config[__NAMESPACE__] : array()); }
public function __invoke(ModuleEvent $e) { $module = $e->getModule(); if (is_callable(array($module, 'init'))) { $module->init($e->getTarget()); } }
/** * loadModule * * Check each loaded module to see if it implements LocatorRegistered. If it * does, we add it to an internal array for later. * * @param ModuleEvent $e * @return void */ public function loadModule(ModuleEvent $e) { if (!$e->getModule() instanceof LocatorRegistered) { return; } $this->modules[] = $e->getModule(); }
/** * @param \Zend\Module\ModuleEvent $e * @return void */ public function __invoke(ModuleEvent $e) { $module = $e->getModule(); if (!$module instanceof AutoloaderProvider) { return; } $autoloaderConfig = $module->getAutoloaderConfig(); AutoloaderFactory::factory($autoloaderConfig); }
public function testModuleResolverListenerCanResolveModuleClasses() { $moduleResolver = new ModuleResolverListener(); $e = new ModuleEvent(); $e->setModuleName('ListenerTestModule'); $this->assertInstanceOf('ListenerTestModule\\Module', $moduleResolver($e)); $e->setModuleName('DoesNotExist'); $this->assertFalse($moduleResolver($e)); }
public function __invoke(ModuleEvent $e) { if (true === $this->skipConfig) { return; } $module = $e->getModule(); if (is_callable(array($module, 'getConfig'))) { $this->mergeModuleConfig($module); } }
/** * @param \Zend\Module\ModuleEvent $e * @return void */ public function __invoke(ModuleEvent $e) { $module = $e->getModule(); if (!$module instanceof BootstrapListenerInterface) { return; } $moduleManager = $e->getTarget(); $events = $moduleManager->events(); $sharedEvents = $events->getSharedManager(); $sharedEvents->attach('bootstrap', 'bootstrap', array($module, 'onBootstrap')); }
/** * Merge the config for each module * * @param ModuleEvent $e * @return ConfigListener */ public function loadModule(ModuleEvent $e) { if (true === $this->skipConfig) { return; } $module = $e->getParam('module'); if (is_callable(array($module, 'getConfig'))) { $this->mergeModuleConfig($module); } return $this; }
/** * Registers annotations required for the Doctrine AnnotationReader * * @param ModuleEvent $e * @throws RuntimeException */ public function registerAnnotations(ModuleEvent $e) { $config = $e->getConfigListener()->getMergedConfig(); $config = $config['doctrine_orm_module']; if ($config->use_annotations) { $annotationsFile = false; if (isset($config->annotation_file)) { $annotationsFile = realpath($config->annotation_file); } if (!$annotationsFile) { // Trying to load DoctrineAnnotations.php without knowing its location $annotationReflection = new ReflectionClass('Doctrine\\ORM\\Mapping\\Driver\\AnnotationDriver'); $annotationsFile = realpath(dirname($annotationReflection->getFileName()) . '/DoctrineAnnotations.php'); } if (!$annotationsFile) { throw new RuntimeException('Failed to load annotation mappings, check the "annotation_file" setting'); } AnnotationRegistry::registerFile($annotationsFile); } if (!class_exists('Doctrine\\ORM\\Mapping\\Entity', true)) { throw new RuntimeException('Doctrine could not be autoloaded: ensure it is in the correct path.'); } }
/** * Load a specific module by name. * * @param string $moduleName * @return mixed Module's Module class */ public function loadModule($moduleName) { if (isset($this->loadedModules[$moduleName])) { return $this->loadedModules[$moduleName]; } $class = $moduleName . '\\Module'; if (!class_exists($class)) { throw new Exception\RuntimeException(sprintf('Module (%s) could not be initialized because Module.php could not be found.', $moduleName)); } $module = new $class(); $event = new ModuleEvent(); $event->setModule($module); $this->events()->trigger(__FUNCTION__, $this, $event); $this->loadedModules[$moduleName] = $module; return $module; }