Класс 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 Error.
- 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 - Исключение.
Возвращает
integerЗначение кода ошибки в диапазоне от 400 до 506
_customMethod()source protected
_customMethod( string $method , Exception $exception )
Отображение пользовательского метода/шаблона ошибки.
Параметры
- string
$method - Имя вызываемого метода.
- Exception
$exception - Исключение для отображения.
Возвращает
Cake\Http\ResponseОтправляемый ответ.
_getController()source protected
_getController( )
Получение экземпляра контроллера для обработки исключения. Переопределите этот метод в подклассах для настройки используемого контроллера. Этот метод возвращает встроенный ErrorController по умолчанию, или, если ошибка повторяется, будет использован простой контроллер.
Возвращает
Cake\Controller\ControllerВызывает
Controller.startup $controller_message()source protected
_message( Exception $exception , integer $code )
Получение сообщения об ошибке.
Параметры
- Exception
$exception - Исключение.
- integer
$code - Код ошибки.
Возвращает
stringСообщение об ошибке
_method()source protected
_method( Exception $exception )
Получение имени метода.
Параметры
- Exception
$exception - Экземпляр исключения.
Возвращает
string_outputMessage()source protected
_outputMessage( string $template )
Генерация ответа с помощью объекта контроллера.
Параметры
- string
$template - Шаблон для отображения.
Возвращает
Cake\Http\ResponseОбъект ответа, который может быть отправлен.
_outputMessageSafe()source protected
_outputMessageSafe( string $template )
Более безопасный способ отображения сообщений об ошибках, заменяет все помощники базовыми и не вызывает методы компонентов.
Параметры
- string
$template - Шаблон для отображения.
Возвращает
Cake\Http\ResponseОбъект ответа, который может быть отправлен.
_shutdown()source protected
_shutdown( )
Выполнение событий завершения работы.
Вызывает события после фильтрации и после обработки.
Возвращает
Cake\Http\ResponseОтправляемый ответ.
_template()source protected
_template( Exception $exception , string $method , integer $code )
Получение шаблона для отображения информации об исключении.
Параметры
- Exception
$exception - Экземпляр исключения.
- string
$method - Имя метода.
- integer
$code - Код ошибки.
Возвращает
stringИмя шаблона
_unwrap()source protected
_unwrap( Exception $exception )
Возвращает объект исключения без обертки в случае работы с объектом ошибки PHP 7.
Параметры
- Exception
$exception - Объект для извлечения исключения.
Возвращает
Exception|Errorrender()source public
render( )
Отображает ответ для исключения.
Возвращаемое значение
Cake\Http\ResponseОтправляемый ответ.
Реализация
Cake\Error\ExceptionRendererInterface::render() Подробное описание свойств
$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.4/class-Cake.Error.ExceptionRenderer.html