Класс 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.
- 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() Подробное описание свойств
$methodsource
protected строка
Метод, соответствующий исключению, для которого предназначен этот объект.
''
$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.8/class-Cake.Error.ExceptionRenderer.html