Ejemplo n.º 1
0
 /**
  * Выполняет загрузку модуля по его названию
  *
  * @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;
 }