Example #1
0
 /**
  * Конструктор
  */
 function __construct()
 {
     parent::__construct();
     if (DEBUG) {
         Open_Benchmark::getInstance()->mark(__CLASS__ . '_start');
     }
     /**
      * Создаём объект Smarty
      */
     $this->smarty = new Open_Smarty();
     /**
      * Передаём Smarty ссылки на экземпляры объектов, для удобства их использования изнутри
      * Использовать функцию Smarty assign_by_ref не надо, т.к. мы и так имеем дело со ссылками на объекты, иначе получится двойная ссылка
      */
     $C = Open_Config::getInstance();
     $this->smarty->assign('config', $C);
     $this->smarty->assign('input', Open_Input::getInstance());
     $this->smarty->assign('router', Open_Router::getInstance());
     $this->smarty->assign('text', Open_Text::getInstance());
     $this->smarty->assign('view', $this);
     /**
      * Устанавливаем значения по умолчанию
      */
     $config = $C->get(array('headers', 'default_title', 'js', 'css', 'default_body'));
     $this->setHeaders($config['headers']);
     $this->setTitle($config['default_title']);
     $this->setJs($config['js']);
     $this->setCss($config['css']);
     $this->setBody($config['default_body']);
 }
Example #2
0
 /**
  * Конструктор
  */
 protected function __construct()
 {
     parent::__construct();
     if (DEBUG) {
         Open_Benchmark::getInstance()->mark(__CLASS__ . '_start');
     }
     $this->config = Open_Config::getInstance();
     $this->input = Open_Input::getInstance();
     $this->router = Open_Router::getInstance();
     $this->text = Open_Text::getInstance();
     $this->view = Open_View::getInstance();
     $this->setArguments($this->router->getArguments());
 }
Example #3
0
set_error_handler('errorHandler');
/**
 * Отключаем добавление кавычек входным данным на лету
 * Во избежание ситуаций, когда кавычки могут добавиться дважды мы будем делать это всегда самостоятельно
 * К тому же использование этой возможности объявлено нежелательным и будет исключено из PHP6
 */
set_magic_quotes_runtime(0);
try {
    /**
     * Если режим дебага, создаём объект для работы с метками времени
     * При уничтожении объекта он выведет сколько времени отработало приложение
     */
    if (DEBUG) {
        Open_Benchmark::getInstance();
    }
    /**
     * Объект маршрутизации
     * Все действия выполняются в конструкторе, поэтому нам необходимо просто создать объект
     * Определяются язык, локаль и устанавливаются
     * Определяются контроллер и метод
     * Вызов метода контроллера
     */
    Open_Router::getInstance()->invoke();
} catch (Exception $E) {
    $R = new ReflectionObject($E);
    if ($R->hasMethod('handle')) {
        $E->handle();
    } else {
        p($E->__toString());
    }
}