Example #1
0
 /**
  * Обработчик непойманых исключений
  *
  * @param object $exception - объект исключения
  */
 public static function handleException($exception)
 {
     ob_end_clean_all();
     $detals = array();
     $detals['File'] = str_replace([ROOT_PATH, '\\'], ['', '/'], $exception->getFile());
     $detals['Line'] = $exception->getLine();
     $detals['Msg'] = $exception->getMessage();
     Error::e503($detals);
 }
Example #2
0
 /**
  * Выброс ошибки 503 - Сервис недоступен
  *
  * @param string $detals - опциональное сообщенние
  */
 public static function e503($detals = null)
 {
     Header::h503();
     ob_end_clean_all();
     if (!Request::is_ajax()) {
         echo View::make('error.e503')->with('detals', $detals)->compile();
     } else {
         $outputData = array();
         $outputData['status'] = '503 Service Unavailable';
         if (!is_null($detals)) {
             $outputData['detals'] = $detals;
         }
         echo json_encode($outputData, JSON_UNESCAPED_SLASHES);
     }
     exit;
 }
Example #3
0
 /**
  * Рузультат работы
  *
  * Использует eval() т.к. так в PHP <=5.6 можно поймать Fatal Error
  * См. класс /knee/debug.php
  *
  * @return string
  */
 public function result()
 {
     ob_start();
     $__viewData = $this->data;
     extract($__viewData, EXTR_SKIP);
     $__eval = @eval('?>' . $this->template);
     if ($__eval === false and is_array(error_get_last())) {
         ob_end_clean_all();
         \Knee\Error::e503(\Knee\Lang::get('system.view.error-compile') . '<br>View: ' . $this->path);
     } else {
         return trim(ob_get_clean());
     }
 }