Spec-Zone.ru › CakePHP 2.7

Класс ExceptionRenderer

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

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

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

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

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

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

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

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

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

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

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

__constructsource public

__construct( Exception $exception )

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

Параметры

Исключение $exception
Исключение

_cakeErrorsource protected

_cakeError( CakeException $error )

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

Параметры

CakeException $error
Исключение, которое необходимо отобразить.

_getControllersource protected

_getController( Exception $exception )

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

Параметры

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

Возвращает

Controller
Контроллер

_outputMessagesource protected

_outputMessage( string $template )

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

Параметры

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

_outputMessageSafesource protected

_outputMessageSafe( string $template )

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

Параметры

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

error400source public

error400( Exception $error )

Метод для удобного отображения страницы серии 400.

Параметры

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

error500source public

error500( Exception $error )

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

Параметры

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

pdoErrorsource public

pdoError( PDOException $error )

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

Параметры

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

rendersource public

render( )

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

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

$controllersource

public Controller

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

null

$errorsource

public Exception

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

null

$methodsource

public строка

Метод, соответствующий данному исключению.

''

$templatesource

public строка

Шаблон для отображения 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.
http://api.cakephp.org/2.7/class-ExceptionRenderer.html

Spec-Zone.ru

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