Beispiel #1
0
 /**
  * Стартуем
  * @param $content
  * @return void
  */
 public function run(&$content)
 {
     //Путь к файлу
     $__path = $this->file;
     //Счетчик времени
     $time = Boot::mktime();
     //Оборачиваем все в функцию
     $view = function ($params, $content) use($__path) {
         //Извлекаем переменные
         if (!empty($params)) {
             extract((array) $params);
         }
         //Запускаем отладчик
         ob_start();
         //Подключаем файл
         require $__path;
         //Выполняем сценарий
         $html = ob_get_contents();
         ob_end_clean();
         //Возвращаем данные
         return $html;
     };
     //Выполняем функцию
     $html = $view((array) Boot_Controller::getInstance()->view, $content);
     //Debug
     Boot::getInstance()->debug("  Rendered " . str_replace(APPLICATION_PATH . "/", "", $__path) . " (" . Boot::check_time($time) . "ms)");
     echo $html;
 }
Beispiel #2
0
 /**
  * Инициализируем контроллер
  * @return void
  */
 private function init_controller()
 {
     //Запускаем инстанс
     Boot_Controller::getInstance();
 }
Beispiel #3
0
 /**
  * Получить имя модуля
  * @static
  * @return string|bool
  */
 public function getModule()
 {
     return Boot_Controller::getModule();
 }
Beispiel #4
0
 /**
  * Получить параметр запроса
  * @param $name
  * @return boolean
  */
 public function hasParam($name)
 {
     //Если есть в get запросе
     if (Boot_Controller::getInstance()->_request && array_key_exists($name, Boot_Controller::getInstance()->_request)) {
         return true;
     }
     //Если есть в post запросе
     if ($_POST && array_key_exists($name, $_POST)) {
         return true;
     }
     return false;
 }
Beispiel #5
0
 public function __construct($message = null, $code = 500, $error_code = null, Exception $previous = null)
 {
     http_response_code($code);
     if (Boot_Controller::getInstance()->isAjax()) {
         //Обрабатываем библиотеки, в которых добавлена прослушка на ошибки
         Boot_Exception::sendLibraryException(new Exception($message, $code, $previous));
         echo json_encode(array('error' => $code, 'error_code' => $error_code, 'message' => $message, 'trace' => APPLICATION_ENV == "production" ? "" : $this->getTraceAsString()));
     } else {
         throw new Boot_Exception($message, $code, $previous);
     }
     exit;
 }
Beispiel #6
0
 /**
  * Рендерит шаблон, используя данные переданные из контроллера
  * @param string $name
  * @return string
  * @throws Exception
  */
 public function render($name)
 {
     return $this->_render($name, (array) Boot_Controller::getInstance()->view);
 }
Beispiel #7
0
 /**
  * @static
  * @return null
  */
 public function getViewName()
 {
     return Boot_Controller::getViewName();
 }