Класс 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\Exceptionstring
Краткое описание методов
- __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.
- render() publicОтображает ответ на исключение.
Подробное описание методов
__construct()source public
__construct( Exception $exception )
Создаёт контроллер для обработки ответа об ошибке. Если ошибка является Cake\Core\Exception\Exception, она будет преобразована в ошибку кода 400 или 500 в зависимости от кода, используемого для построения ошибки.
Параметры
- Exception
$exception - Исключение.
_code()source protected
_code( Exception $exception )
Возвращает значение кода ошибки в диапазоне от 400 до 506
Параметры
- Exception
$exception - Исключение.
Возвращает
целое числоЗначение кода ошибки в диапазоне от 400 до 506
_customMethod()source protected
_customMethod( string $method , Exception $exception )
Отображает пользовательский метод/шаблон ошибки.
Параметры
- строка
$method - Имя метода для вызова.
- Exception
$exception - Исключение для отображения.
Возвращает
Cake\Network\ResponseОтвет для отправки.
_getController()source protected
_getController( )
Возвращает экземпляр контроллера для обработки исключения. Переопределите этот метод в подклассах для настройки используемого контроллера. Этот метод возвращает встроенный ErrorController в обычном случае, или, если ошибка повторяется, будет использован базовый контроллер.
Возвращает
Cake\Controller\ControllerВызывает
Controller.startup $controller_message()source protected
_message( Exception $exception , integer $code )
Возвращает сообщение об ошибке.
Параметры
- Exception
$exception - Исключение.
- целое число
$code - Код ошибки.
Возвращает
строкаСообщение об ошибке
_method()source protected
_method( Exception $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
$exception - Экземпляр исключения.
- строка
$method - Имя метода.
- целое число
$code - Код ошибки.
Возвращает
строкаИмя шаблона
_unwrap()source protected
_unwrap( Exception $exception )
Возвращает объект исключения без оберток, если мы имеем дело с объектом ошибки PHP 7.
Параметры
- Exception
$exception - Объект для извлечения из обертки
Возвращает
Exception|Errorrender()source public
render( )
Отображает ответ на исключение.
Возвращает
Cake\Network\ResponseОтвет для отправки.
Подробное описание свойств
$methodsource
public string
Метод, соответствующий исключительной ситуации, для которого предназначен этот объект.
''
© 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/3.3/class-Cake.Error.ExceptionRenderer.html