Класс ExceptionRenderer
Обработчик исключений.
Перехватывает и обрабатывает все необработанные исключения. Отображает полезные ошибки фреймворка, когда debug равен true. Когда debug равен false, CakeException будет отображать ошибки 404 или 500. Если возникает неперехваченное исключение, тип которого неизвестен обработчику исключений, оно будет обработано как ошибка 500.
Реализация обработки исключений, специфичных для приложения
Вы можете реализовать обработку исключений, специфичных для приложения, создав подкласс ExceptionRenderer и настроив его как exceptionRenderer в config/error.php
Использование подкласса ExceptionRenderer
Использование подкласса ExceptionRenderer предоставляет вам полный контроль над тем, как отображаются исключения. Вы можете настроить ваш класс в вашем config/app.php.
- Cake\Error\ExceptionRenderer реализует Cake\Error\ExceptionRendererInterface
Краткое описание свойств
- Экземпляр контроллера.
$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 - Исключение.
_code()source protected
_code( Exception $exception )
Получение кода ошибки в диапазоне от 400 до 506
Параметры
- Исключение
$exception - Исключение.
Возвращает
целое числоКод ошибки в диапазоне от 400 до 506
_customMethod()source protected
_customMethod( string $method , Exception $exception )
Отображение пользовательского метода/шаблона ошибки.
Параметры
- строка
$method - Имя вызываемого метода.
- Исключение
$exception - Исключение для отображения.
Возвращает
Cake\Http\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\Http\ResponseОбъект ответа, который можно отправить.
_outputMessageSafe()source protected
_outputMessageSafe( string $template )
Более безопасный способ отображения сообщений об ошибках, заменяет все помощники базовыми и не вызывает методы компонентов.
Параметры
- строка
$template - Шаблон для отображения.
Возвращает
Cake\Http\ResponseОбъект ответа, который можно отправить.
_shutdown()source protected
_shutdown( )
Выполнение событий завершения работы.
Вызывает события afterFilter и afterDispatch.
Возвращает
Cake\Http\ResponseОтвет для отправки.
_template()source protected
_template( Exception $exception , string $method , integer $code )
Получение шаблона для отображения информации об исключении.
Параметры
- Исключение
$exception - Экземпляр исключения.
- строка
$method - Имя метода.
- целое число
$code - Код ошибки.
Возвращает
строкаИмя шаблона
_unwrap()source protected
_unwrap( Exception $exception )
Возвращает объект исключения без оберток, если мы имеем дело с объектом ошибки PHP 7.
Параметры
- Исключение
$exception - Объект для разворачивания
Возвращает
Исключение|Ошибкаrender()source public
render( )
Отображает ответ для исключения.
Возвращает
Cake\Http\ResponseОтвет, который нужно отправить.
Реализация
Cake\Error\ExceptionRendererInterface::render() Подробное описание свойств
$methodsource
public string
Метод, соответствующий исключению, для которого предназначен этот объект.
''
© 2005–2018 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.5/class-Cake.Error.ExceptionRenderer.html