/** * Выполняет загрузку модуля по его названию * * @param string $sModuleClass Класс модуля * @param bool $bInit Инициализировать модуль или нет * * @throws RuntimeException если класс $sModuleClass не существует * * @return Module */ public function LoadModule($sModuleClass, $bInit = false) { $tm1 = microtime(true); if (!class_exists($sModuleClass)) { throw new RuntimeException(sprintf('Class "%s" not found!', $sModuleClass)); } // * Создаем объект модуля $oModule = new $sModuleClass(); $oModuleDecorator = Decorator::Create($oModule); $this->aModules[$sModuleClass] = $oModuleDecorator; if ($bInit || $sModuleClass == 'ModuleCache') { $this->InitModule($oModuleDecorator); } $tm2 = microtime(true); $this->nTimeLoadModule += $tm2 - $tm1; return $oModuleDecorator; }