Пример #1
0
 /**
  * Загрузить окружение из файла
  * @param string $name название окружения
  * @return array
  * @throws Exception если файл окружение существует, но не может быть прочитан
  */
 private function _loadEnviron($name)
 {
     $path = Gliss_Core::call('Service_Reg')->folderEnvirons . DIRECTORY_SEPARATOR . str_replace('_', DIRECTORY_SEPARATOR, $name) . '.ini';
     if (file_exists($path)) {
         if (is_readable($path)) {
             return parse_ini_file($path, true);
         } else {
             throw new Exception("Файл {$path} существует, но не может быть прочитан", 0x1);
         }
     }
     return array();
 }
Пример #2
0
 /**
  * PSR-0
  * https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md
  * @param string $className
  */
 public function PSR_0($className)
 {
     set_include_path(Gliss_Core::call('Service_Reg')->folderLibraries);
     $className = ltrim($className, '\\');
     $fileName = Gliss_Core::call('Service_Reg')->folderLibraries;
     $namespace = null;
     $lastNsPos = strripos($className, '\\');
     if (!empty($lastNsPos)) {
         $namespace = substr($className, 0, $lastNsPos);
         $className = substr($className, $lastNsPos + 1);
         $fileName .= str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
     }
     $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
     if (is_readable($fileName)) {
         require $fileName;
     } else {
         throw new Exception("Файл {$fileName} не найден или не доступен для чтения", 0x1);
     }
 }
Пример #3
0
 /**
  * Получить приложение
  * @param string $name Название приложения
  * @param array|null $arguments Аргументы для передачи в конструктор
  * @return array|null
  * @throws Gliss_Servece_App_Exception если файл не найден или не может быть прочитан
  * @throws LogicException  если класс не определен
  */
 private function _getApp($name, $arguments = null)
 {
     if (!isset($this->_appendices[$name])) {
         $path = Gliss_Core::call('Service_Reg')->folderAppendices . str_replace('_', DIRECTORY_SEPARATOR, $name) . '.php';
         if (!is_readable($path)) {
             throw new Gliss_Servece_App_Exception("Файл {$path} не найден или не может быть прочитан", 1);
         }
         require_once $path;
         if (!class_exists($name)) {
             throw new LogicException("Класс {$name} не определен");
         }
         if (!empty($arguments)) {
             $reflection = new ReflectionClass($name);
             $this->_appendices[$name] = $reflection->newInstanceArgs((array) $arguments);
         } else {
             $this->_appendices[$name] = new $name();
         }
     }
     return $this->_appendices[$name];
 }
Пример #4
0
 /**
  * Старт/Рестрарт ядра
  * <code>
  * Gliss_Core::start();
  * </code>
  */
 public static function start()
 {
     self::$_path = dirname(__FILE__) . '/';
 }
Пример #5
0
/**
 * Псевдоним вызова сервиса Lib
 * @return object
 */
function Lib()
{
    return Gliss_Core::call('Service_Lib');
}