Exemple #1
0
 /**
  * Получить приложение
  * @param string $app Имя приложения
  * @param string $typeApp Тип приожения
  * @param $arg Парметр для конструктора приложения
  * @return object
  */
 public function getApp($app, $typeApp = 'frontend', $arg = null)
 {
     $nameClass = $app . '_' . $typeApp;
     if (!empty($this->appendices[$nameClass])) {
         return $this->appendices[$nameClass]->object;
     } else {
         $folderAppendices = Mr::gt('Env')->folderAppendicesSite;
         $folderAppendix = $folderAppendices . $app;
         if (!Mr::loadFile($folderAppendix . '/' . $typeApp . '.php')) {
             $folderAppendices = Mr::gt('Env')->folderAppendicesCore;
             $folderAppendix = $folderAppendices . $app;
             if (!Mr::loadFile($folderAppendix . '/' . $typeApp . '.php')) {
                 return false;
             }
         }
         if (!class_exists($nameClass)) {
             return false;
         }
         $this->appendices[$nameClass] = new stdClass();
         $this->appendices[$nameClass]->path = $folderAppendices;
         $this->appendices[$nameClass]->type = $typeApp;
         $this->appendices[$nameClass]->name = $app;
         $this->appendices[$nameClass]->object =& $object;
         return $object = new $nameClass($arg);
     }
 }
Exemple #2
0
 /**
  * Получить библиотеку
  * @param string $name Название библитеки
  * @return object
  */
 public function getLib($name)
 {
     if (isset($this->libraries[$name])) {
         return $this->libraries[$name]->object;
     } else {
         $nameAdapter = $name . '_adapter';
         $forlderLibraries = Mr::gt('Env')->folderLibrariesSite;
         $forlderLibrary = $forlderLibraries . $name;
         if (!Mr::loadFile($forlderLibrary . '/Adapter.php')) {
             $folderLibraries = Mr::gt('Env')->folderLibrariesCore;
             $forlderLibrary = $folderLibraries . $name;
             if (!Mr::loadFile($forlderLibrary . '/Adapter.php')) {
                 Mr::exception('Библиотека "' . $name . '" не найдена!');
             }
         }
         if (!class_exists($nameAdapter)) {
             Mr::exception('Класс "' . $nameAdapter . '" не найден.');
         }
         $this->libraries[$name]->path = $forlderLibrary;
         $this->libraries[$name]->object =& $library;
         return $library = new $nameAdapter();
     }
 }