protected function registerBaseModules()
{
ModuleFacade::clearResolvedInstances();
ModuleFacade::setContainer($this->container);
$finder = new Finder();
$finder->directories()->depth('== 0')->in(__DIR__ . "/../Module");
foreach ($finder as $dir) {
$module = $dir->getBasename();
$facadeClass = "\\Altax\\Module\\" . $module . "\\Facade\\" . $module;
$implClass = "\\Altax\\Module\\" . $module . "\\" . $module . "Module";
$moduleName = $facadeClass::getModuleName();
$r = new \ReflectionClass($implClass);
$instance = $r->newInstance($this->container);
// register module into container
$this->container->addModule($moduleName, $instance);
if (!class_exists($moduleName)) {
class_alias($facadeClass, $moduleName);
}
}
}