Exemplo n.º 1
0
 public function getAvailableModules()
 {
     $modulePath = $this->mountPath . '.module';
     $modulePath = preg_replace('/^\\.+/', '', $modulePath);
     $moduleDir = ClassLoader::getRealPath($modulePath);
     $modules = array();
     if (is_dir($moduleDir)) {
         foreach (new DirectoryIterator($moduleDir) as $node) {
             if ($node->isDir() && !$node->isDot()) {
                 $module = new ConfigurationContainer($modulePath . '.' . $node->getFileName(), $this->application);
                 $modules[$module->getMountPath()] = $module;
                 $modules = array_merge($modules, $module->getAvailableModules());
             }
         }
     }
     return $modules;
 }