Altax\Console\Application::registerBaseModules PHP Method

registerBaseModules() protected method

Register Modules.
protected registerBaseModules ( )
    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);
            }
        }
    }