cbone
@cbone
Серверная инфраструктура

Обработка исключений в Kohana 3.3 (ошибка 404)?

Всем привет. Кто-нибудь сталкивался с созданием собственной страницы ошибки 404 на Kohana 3.3. Если есть такие, отзовитесь пожалуйста. Не могу понять как именно получить статус запроса и в случае если он != 200, то отобразить пользователю соответствующую страницу с ошибкой (403, 404 и т.д.).
  • Вопрос задан
  • 10781 просмотр
Решения вопроса 1
@PomanoB
Это не оно? — kohanaframework.org/3.3/guide/kohana/tutorials/error-pages
В 3.3 они это здорово упростили, вам не надо ничего проверять, просто переопределяете класс HTTP_Exception_404, в котором в методе get_response реализуется вся логика
class HTTP_Exception_404 extends Kohana_HTTP_Exception_404 {
 
    /**
     * Generate a Response for the 404 Exception.
     *
     * The user should be shown a nice 404 page.
     * 
     * @return Response
     */
    public function get_response()
    {
        $view = View::factory('errors/404');
 
        // Remembering that `$this` is an instance of HTTP_Exception_404
        $view->message = $this->getMessage();
 
        $response = Response::factory()
            ->status(404)
            ->body($view->render());
 
        return $response;
    }
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
NeX
@NeX
Еще одна особенность версии 3.3. В Случае, если uri не будет найден в route, Request::factory()->execute() вернет HTTP_Exception_404, а не бросит его. Смотрите исходники Request->execute()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы