Added the zend framework 2 library, the path is specified in line no.26 in zend_modul...
[openemr.git] / interface / modules / zend_modules / library / Zend / ModuleManager / Listener / ModuleDependencyCheckerListener.php
blob66e7963f8dc3cd522273d182e9ad64ec544b4a93
1 <?php
2 /**
3 * Zend Framework (http://framework.zend.com/)
5 * @link http://github.com/zendframework/zf2 for the canonical source repository
6 * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
7 * @license http://framework.zend.com/license/new-bsd New BSD License
8 */
10 namespace Zend\ModuleManager\Listener;
12 use Zend\ModuleManager\Exception;
13 use Zend\ModuleManager\Feature\DependencyIndicatorInterface;
14 use Zend\ModuleManager\ModuleEvent;
16 /**
17 * Module resolver listener
19 class ModuleDependencyCheckerListener
21 /**
22 * @var array of already loaded modules, indexed by module name
24 protected $loaded = array();
26 /**
27 * @param \Zend\ModuleManager\ModuleEvent $e
29 * @throws Exception\MissingDependencyModuleException
31 public function __invoke(ModuleEvent $e)
33 $module = $e->getModule();
35 if ($module instanceof DependencyIndicatorInterface || method_exists($module, 'getModuleDependencies')) {
36 $dependencies = $module->getModuleDependencies();
38 foreach ($dependencies as $dependencyModule) {
39 if (!isset($this->loaded[$dependencyModule])) {
40 throw new Exception\MissingDependencyModuleException(
41 sprintf(
42 'Module "%s" depends on module "%s", which was not initialized before it',
43 $e->getModuleName(),
44 $dependencyModule
51 $this->loaded[$e->getModuleName()] = true;