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