/** * Получить приложение * @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); } }
/** * Получить библиотеку * @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(); } }