Класс ExceptionRenderer
Обработчик исключений.
Захватывает и обрабатывает все необработанные исключения. Отображает полезные ошибки фреймворка, когда debug = true. Когда debug = false, CakeException отобразит ошибки 404 или 500. Если возникнет необработанное исключение, тип которого обработчик ExceptionHandler не знает, оно будет обработано как ошибка 500.
Реализация обработки исключений, специфичных для приложения
Вы можете реализовать обработку исключений, специфичных для приложения, создав подкласс ExceptionRenderer и настроив его в качестве exceptionRenderer в config/error.php
Использование подкласса ExceptionRenderer
Использование подкласса ExceptionRenderer даёт вам полный контроль над тем, как отображаются исключения. Вы можете настроить свой класс в файле config/app.php.
- Cake\Error\ExceptionRenderer реализует Cake\Error\ExceptionRendererInterface
Краткое описание свойств
- Экземпляр контроллера.
$controllerprotected -
$errorprotectedОбрабатываемое исключение.Exception -
$methodprotectedМетод, соответствующий исключению, для которого предназначен этот объект.string -
$requestprotectedЕсли установлено, будет использоваться для создания контроллера, который отобразит ошибку.
-
$templateprotectedШаблон для отображения исключений Cake\Core\Exception\Exceptionstring
Краткое описание методов
- __construct() public
Создаёт контроллер для обработки ответа об ошибке. Если ошибка является Cake\Core\Exception\Exception, она будет преобразована в ошибку кода 400 или 500 в зависимости от кода, используемого для создания ошибки.
- __debugInfo() public
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
- __get() publicМагический метод доступа к защищенным свойствам.
- __set() publicМагический метод установки защищенных свойств.
- _code() protectedПолучение HTTP-кода состояния.
- _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\Http\ServerRequest $request = null )
Создаёт контроллер для обработки ответа об ошибке. Если ошибка является Cake\Core\Exception\Exception, она будет преобразована в ошибку кода 400 или 500 в зависимости от кода, используемого для создания ошибки.
Параметры
- Исключение
$exception - Исключение.
-
Cake\Http\ServerRequest$requestнеобязательно null - Запрос — если он задан, он будет использован вместо создания нового.
__debugInfo()source public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
массив__get()source public
__get( string $name )
Магический метод доступа к защищенным свойствам.
Параметры
- строка
$name - Имя атрибута для получения.
Возвращает
смешанный тип__set()source public
__set( string $name , mixed $value )
Магический метод установки защищенных свойств.
Параметры
- строка
$name - Имя свойства.
- смешанный тип
$value - Значение свойства.
_code()source protected
_code( Exception $exception )
Получение HTTP-кода состояния.
Параметры
- Исключение
$exception - Исключение.
Возвращает
целое числоДействительный HTTP-код состояния ошибки.
_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() Подробное описание свойств
$requestsource
protected Cake\Http\ServerRequest|null
Если установлено, это запрос, используемый для создания контроллера, который будет отображать ошибку.
null
© 2005–present 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.7/class-Cake.Error.ExceptionRenderer.html