Класс ExceptionRenderer
Обработчик исключений.
Захватывает и обрабатывает все необработанные исключения. Отображает полезные ошибки фреймворка, когда debug = true. Когда debug = false, ExceptionRenderer будет отображать ошибки 404 или 500. Если возникает необработанное исключение, тип которого неизвестен обработчику исключений, оно будет обработано как ошибка 500.
Реализация обработки исключений, специфичных для приложения
Вы можете реализовать обработку исключений, специфичных для приложения, создав подкласс ExceptionRenderer и настроив его как exceptionRenderer в config/error.php
Использование подкласса ExceptionRenderer
Использование подкласса ExceptionRenderer дает вам полный контроль над тем, как отображаются исключения. Вы можете настроить свой класс в вашем файле config/app.php.
Краткое описание свойств
- $controller protected
Cake\Controller\ControllerЭкземпляр контроллера.
- $error protected
ThrowableИсключение, которое обрабатывается.
- $exceptionHttpCodes protected
array<string, int>Сопоставление исключений со статусами HTTP.
- $method protected
stringМетод, соответствующий данному исключению.
- $request protected
Cake\Http\ServerRequest|nullЕсли установлено, используется для создания контроллера, который отобразит ошибку.
- $template protected
stringШаблон для отображения {@link \Cake\Core\Exception\CakeException}
Краткое описание методов
__construct()public
Создаёт контроллер для обработки ответа об ошибке.
__debugInfo()public
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
_customMethod()protected
Отображает пользовательский метод/шаблон ошибки.
_getController()protected
Получает экземпляр контроллера для обработки исключения. Переопределите этот метод в подклассах для настройки используемого контроллера. Этот метод возвращает встроенный
ErrorControllerобычно, или если ошибка повторяется, будет использован базовый контроллер._message()protected
Получение сообщения об ошибке.
_method()protected
Получение имени метода.
_outputMessage()protected
Генерирует ответ с использованием объекта контроллера.
_outputMessageSafe()protected
Более безопасный способ отображения сообщений об ошибках, заменяет все вспомогательные функции базовыми и не вызывает методы компонентов.
_shutdown()protected
Выполнение событий завершения работы.
_template()protected
Получение шаблона для отображения информации об исключении.
clearOutput()protected
Очистка буферов вывода для правильного отображения страниц ошибок.
getHttpCode()protected
Получение соответствующего кода состояния HTTP для исключения.
render()public
Отображает ответ для исключения.
Подробное описание методов
__construct() public
__construct(Throwable $exception, Cake\Http\ServerRequest|null $request = null)
Создаёт контроллер для обработки ответа об ошибке.
Параметры
Throwable$exceptionИсключение.
Cake\Http\ServerRequest|null$requestoptionalЗапрос, если он задан, будет использован вместо создания нового.
__debugInfo() public
__debugInfo(): array<string, mixed>
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращаемое значение
array<string, mixed>$_customMethod() protected
_customMethod(string $method, Throwable $exception): Cake\Http\Response
Отображает пользовательский метод/шаблон ошибки.
Параметры
string$methodИмя метода для вызова.
Throwable$exceptionИсключение для отображения.
Возвращаемое значение
Cake\Http\Response$_getController() protected
_getController(): Cake\Controller\Controller
Получает экземпляр контроллера для обработки исключения. Переопределите этот метод в подклассах для настройки используемого контроллера. Этот метод возвращает встроенный ErrorController обычно, или если ошибка повторяется, будет использован базовый контроллер.
Возвращаемое значение
Cake\Controller\Controller$_message() protected
_message(Throwable $exception, int $code): string
Получение сообщения об ошибке.
Параметры
Throwable$exceptionИсключение.
int$codeКод ошибки.
Возвращаемое значение
string$_method() protected
_method(Throwable $exception): string
Получение имени метода.
Параметры
Throwable$exceptionЭкземпляр исключения.
Возвращаемое значение
string$_outputMessage() protected
_outputMessage(string $template): Cake\Http\Response
Генерирует ответ с использованием объекта контроллера.
Параметры
string$templateШаблон для отображения.
Возвращаемое значение
Cake\Http\Response$_outputMessageSafe() protected
_outputMessageSafe(string $template): Cake\Http\Response
Более безопасный способ отображения сообщений об ошибках, заменяет все вспомогательные функции базовыми и не вызывает методы компонентов.
Параметры
string$templateШаблон для отображения.
Возвращаемое значение
Cake\Http\Response$_shutdown() protected
_shutdown(): Cake\Http\Response
Выполнение событий завершения работы.
Вызывает события afterFilter и afterDispatch.
Возвращаемое значение
Cake\Http\Response$_template() protected
_template(Throwable $exception, string $method, int $code): string
Получение шаблона для отображения информации об исключении.
Параметры
Throwable$exceptionЭкземпляр исключения.
string$methodИмя метода.
int$codeКод ошибки.
Возвращаемое значение
string$clearOutput() protected
clearOutput(): void
Очистка буферов вывода для правильного отображения страниц ошибок.
Возвращаемое значение
void$getHttpCode() protected
getHttpCode(Throwable $exception): int
Получение соответствующего кода состояния HTTP для исключения.
Параметры
Throwable$exceptionИсключение.
Возвращаемое значение
int$render() public
render(): Cake\Http\Response
Отображает ответ для исключения.
Возвращаемое значение
Cake\Http\Response$Подробное описание свойств
$controller protected
Экземпляр контроллера.
Тип
Cake\Controller\Controller$$error protected
Обрабатываемое исключение.
Тип
Throwable$$exceptionHttpCodes protected
Сопоставление исключений с кодами состояния HTTP.
Это можно настроить для пользователей, которые не хотят, чтобы определённые исключения вызывали ошибки 404 или хотят, чтобы исключения их приложения автоматически преобразовывались.
Тип
array<string, int>$$method protected
Метод, соответствующий исключению, для которого предназначен этот объект.
Тип
string$$request protected
Если задано, этот запрос будет использован для создания контроллера, который отобразит ошибку.
Тип
Cake\Http\ServerRequest|null$$template protected
Шаблон для отображения {@link \Cake\Core\Exception\CakeException}
Тип
string$
© 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/4.3/class-Cake.Error.ExceptionRenderer.html