Spec-Zone.ru › CakePHP 2.9

Класс ExceptionRenderer

Обработчик исключений.

Захватывает и обрабатывает все необработанные исключения. Отображает полезные ошибки фреймворка, когда debug > 1. Когда debug < 1, CakeException будет отображать ошибки 404 или 500. Если брошено неперехваченное исключение, тип которого ExceptionHandler не знает, оно будет обработано как ошибка 500.

Реализация обработки исключений, специфичных для приложения

Вы можете реализовать обработку исключений, специфичных для приложения, несколькими способами:

  • Создайте AppController::appError();
  • Создайте подкласс ExceptionRenderer и настройте его как Exception.renderer

Использование AppController::appError();

Этот метод контроллера вызывается вместо стандартной обработки исключений. Он получает брошенное исключение в качестве единственного аргумента. Вы должны реализовать обработку ошибок в этом методе.

Использование подкласса ExceptionRenderer

Использование подкласса ExceptionRenderer даёт вам полный контроль над тем, как отображаются исключения. Вы можете настроить свой класс в вашем файле core.php, с Configure::write('Exception.renderer', 'MyClass'); Вы должны разместить все пользовательские обработчики исключений в app/Lib/Error.

Пакет: Cake\Error
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Error/ExceptionRenderer.php

Краткое описание свойств

  • $controller public
    Controller
    Экземпляр контроллера.
  • $error public
    Exception
    Обрабатываемое исключение.
  • $method public
    string
    Метод, соответствующий исключению, для которого предназначен этот объект.
  • $template public
    string
    Шаблон для отображения CakeException

Краткое описание методов

  • __construct() public

    Создаёт контроллер для обработки ответа на ошибку. Если ошибка — CakeException, она будет преобразована в ошибку кода 400 или 500 в зависимости от кода, использованного при создании ошибки.

  • _cakeError() protected
    Общий обработчик внутренних ошибок фреймворка CakePHP.
  • _getController() protected

    Получает экземпляр контроллера для обработки исключения. Переопределите этот метод в подклассах для настройки используемого контроллера. Этот метод возвращает встроенный CakeErrorController обычно, или если ошибка повторяется, будет использован базовый контроллер.

  • _outputMessage() protected
    Генерирует ответ с использованием объекта контроллера.
  • _outputMessageSafe() protected

    Более безопасный способ отображения сообщений об ошибках, заменяет все помощники на базовые и не вызывает методы компонентов.

  • _shutdown() protected
    Выполняет события завершения работы.
  • error400() public
    Удобный метод для отображения страницы серии 400.
  • error500() public
    Удобный метод для отображения страницы 500.
  • pdoError() public
    Удобный метод для отображения PDOException.
  • render() public
    Отображает ответ для исключения.

Подробное описание методов

__construct()source public

__construct( Exception|ParseError $exception )

Создаёт контроллер для обработки ответа на ошибку. Если ошибка — CakeException, она будет преобразована в ошибку кода 400 или 500 в зависимости от кода, использованного при создании ошибки.

Параметры

Exception|ParseError $exception
Исключение

_cakeError()source protected

_cakeError( CakeException $error )

Общий обработчик внутренних ошибок фреймворка CakePHP.

Параметры

CakeException $error
Исключение для отображения.

_getController()source protected

_getController( Exception $exception )

Получает экземпляр контроллера для обработки исключения. Переопределите этот метод в подклассах для настройки используемого контроллера. Этот метод возвращает встроенный CakeErrorController обычно, или если ошибка повторяется, будет использован базовый контроллер.

Параметры

Exception $exception
Исключение, для которого нужно получить контроллер.

Возвращает

Controller

_outputMessage()source protected

_outputMessage( string $template )

Генерирует ответ с использованием объекта контроллера.

Параметры

string $template
Шаблон для отображения.

_outputMessageSafe()source protected

_outputMessageSafe( string $template )

Более безопасный способ отображения сообщений об ошибках, заменяет все помощники на базовые и не вызывает методы компонентов.

Параметры

string $template
Шаблон для отображения

_shutdown()source protected

_shutdown( )

Выполняет события завершения работы.

Вызывает события afterFilter и afterDispatch.

error400()source public

error400( Exception $error )

Удобный метод для отображения страницы серии 400.

Параметры

Exception $error
Исключение для отображения.

error500()source public

error500( Exception $error )

Удобный метод для отображения страницы 500.

Параметры

Exception $error
Исключение для отображения.

pdoError()source public

pdoError( PDOException $error )

Удобный метод для отображения PDOException.

Параметры

PDOException $error
Исключение для отображения.

render()source public

render( )

Отображает ответ для исключения.

Подробное описание свойств

$controllersource

public Controller

Экземпляр контроллера.

null

$errorsource

public Exception

Обрабатываемое исключение.

null

$methodsource

public string

Метод, соответствующий исключению, для которого предназначен этот объект.

''

$templatesource

public string

шаблон для отображения CakeException

''

© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.9/class-ExceptionRenderer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API