Spec-Zone.ru › CakePHP 2.10

Класс 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
Авторские права: Авторские права (c) Cake Software Foundation, Inc. (https://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–2017 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.10/class-ExceptionRenderer.html

Spec-Zone.ru

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