Класс ExceptionRenderer
Обработчик исключений.
Захватывает и обрабатывает все необработанные исключения. Отображает полезные ошибки фреймворка, когда debug = true. Когда debug = false, CakeException будет отображать ошибки 404 или 500. Если брошено неперехваченное исключение, тип которого ExceptionHandler не знает, оно будет обработано как ошибка 500.
Реализация обработки исключений, специфичных для приложения
Вы можете реализовать обработку исключений, специфичных для приложения, создав подкласс ExceptionRenderer и настроив его как exceptionRenderer в файле config/error.php
Использование подкласса ExceptionRenderer
Использование подкласса ExceptionRenderer даёт вам полный контроль над тем, как отображаются исключения. Вы можете настроить свой класс в файле config/app.php.
Краткое описание свойств
- Экземпляр контроллера.
$controllerpublic -
$errorpublicИсключение, обрабатываемое в данный момент.Exception -
$methodpublicМетод, соответствующий исключению, для которого предназначен этот объект.string -
$templatepublicШаблон для отображения Cake\Core\Exception\Exception.string
Краткое описание методов
- __construct() public
Создаёт контроллер для обработки ответа об ошибке. Если ошибка является Cake\Core\Exception\Exception, она будет преобразована в ошибку с кодом 400 или 500 в зависимости от кода, используемого для создания ошибки.
- _code() protectedПолучение кода ошибки в диапазоне от 400 до 506
- _customMethod() protectedОтображение пользовательского метода/шаблона ошибки.
- _getController() protected
Получение экземпляра контроллера для обработки исключения. Переопределите этот метод в подклассах для настройки используемого контроллера. Этот метод обычно возвращает встроенный
ErrorController, или если ошибка повторяется, используется простой контроллер. - _message() protectedПолучение сообщения об ошибке.
- _method() protectedПолучение имени метода.
- _outputMessage() protectedГенерация ответа с использованием объекта контроллера.
- _outputMessageSafe() protected
Более безопасный способ отображения сообщений об ошибках, заменяет все вспомогательные функции базовыми и не вызывает методы компонентов.
- _shutdown() protectedВыполнение событий завершения.
- _template() protectedПолучение шаблона для отображения информации об исключении.
- _unwrap() protected
Возвращает объект исключения без оберток, если мы имеем дело с объектом PHP 7 Error.
- render() publicОтображает ответ на исключение.
Подробное описание методов
__construct()source public
__construct( Exception $exception )
Создаёт контроллер для обработки ответа об ошибке. Если ошибка является Cake\Core\Exception\Exception, она будет преобразована в ошибку с кодом 400 или 500 в зависимости от кода, используемого для создания ошибки.
Параметры
- Исключение
$exception - Исключение.
_code()source protected
_code( Exception $exception )
Получение кода ошибки в диапазоне от 400 до 506
Параметры
- Исключение
$exception - Исключение.
Возвращает
целое числоКод ошибки в диапазоне от 400 до 506
_customMethod()source protected
_customMethod( string $method , Exception $exception )
Отображение пользовательского метода/шаблона ошибки.
Параметры
- строка
$method - Имя вызываемого метода.
- Исключение
$exception - Исключение для отображения.
Возвращает
Cake\Network\ResponseОтправляемый ответ.
_getController()source protected
_getController( )
Получение экземпляра контроллера для обработки исключения. Переопределите этот метод в подклассах для настройки используемого контроллера. Этот метод обычно возвращает встроенный ErrorController, или если ошибка повторяется, используется простой контроллер.
Возвращает
Cake\Controller\ControllerВызывает
Controller.startup $controller_message()source protected
_message( Exception $exception , integer $code )
Получение сообщения об ошибке.
Параметры
- Исключение
$exception - Исключение.
- целое число
$code - Код ошибки.
Возвращает
строкаСообщение об ошибке
_method()source protected
_method( Exception $exception )
Получение имени метода.
Параметры
- Экземпляр исключения
$exception - Экземпляр исключения.
Возвращает
строка_outputMessage()source protected
_outputMessage( string $template )
Генерация ответа с использованием объекта контроллера.
Параметры
- строка
$template - Шаблон для отображения.
Возвращает
Cake\Network\ResponseОбъект ответа, который может быть отправлен.
_outputMessageSafe()source protected
_outputMessageSafe( string $template )
Более безопасный способ отображения сообщений об ошибках, заменяет все вспомогательные функции базовыми и не вызывает методы компонентов.
Параметры
- строка
$template - Шаблон для отображения.
Возвращает
Cake\Network\ResponseОбъект ответа, который может быть отправлен.
_shutdown()source protected
_shutdown( )
Выполнение событий завершения.
Вызывает события afterFilter и afterDispatch.
Возвращает
Cake\Network\ResponseОтправляемый ответ.
_template()source protected
_template( Exception $exception , string $method , integer $code )
Получение шаблона для отображения информации об исключении.
Параметры
- Исключение
$exception - Экземпляр исключения.
- строка
$method - Имя метода.
- целое число
$code - Код ошибки.
Возвращает
строкаИмя шаблона
_unwrap()source protected
_unwrap( Exception $exception )
Возвращает объект исключения без оберток, если мы имеем дело с объектом PHP 7 Error.
Параметры
- Исключение
$exception - Объект для раскрытия.
Возвращает
Исключение|Ошибкаrender()source public
render( )
Отображает ответ на исключение.
Возвращает
Cake\Network\ResponseОтправляемый ответ.
Подробное описание свойств
$methodsource
public string
Метод, соответствующий Исключение, для которого предназначен этот объект.
''
© 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/3.2/class-Cake.Error.ExceptionRenderer.html