Класс ExceptionRenderer
Обработчик исключений.
Перехватывает и обрабатывает все необработанные исключения. Отображает полезные ошибки фреймворка, когда debug равен true. Когда debug равен false, ExceptionRenderer отобразит ошибки 404 или 500. Если возникает неперехваченное исключение, тип которого ExceptionHandler не знает, оно будет обработано как ошибка 500.
Реализация обработки исключений, специфичных для приложения
Вы можете реализовать обработку исключений, специфичных для приложения, создав подкласс ExceptionRenderer и настроив его как exceptionRenderer в файле config/error.php
Использование подкласса ExceptionRenderer
Использование подкласса ExceptionRenderer даёт вам полный контроль над тем, как отображаются исключения. Вы можете настроить свой класс в файле config/app.php.
Краткое описание свойств
- $controller protected
Cake\Controller\ControllerЭкземпляр контроллера.
- $error protected
ThrowableОбрабатываемое исключение.
- $exceptionHttpCodes protected
arrayСопоставление исключений и кодов HTTP-статусов.
- $method protected
stringМетод, соответствующий этому исключению.
- $request protected
Cake\Http\ServerRequest|nullЕсли задано, это запрос, используемый для создания контроллера, который отобразит ошибку.
- $template protected
stringШаблон для отображения 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 $request = null)
Создает контроллер для рендеринга ответа об ошибке.
Параметры
-
Throwable$exception Исключение.
-
Cake\Http\ServerRequest$request optional Запрос, если он установлен, он будет использован вместо создания нового.
__debugInfo() public
__debugInfo(): array
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращаемое значение
array_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 Код ошибки.
Возвращаемое значение
stringclearOutput() protected
clearOutput(): void
Очистка буферов вывода, чтобы страницы ошибок отображались правильно.
Возвращаемое значение
voidgetHttpCode() protected
getHttpCode(Throwable $exception): int
Получает соответствующий код состояния HTTP для исключения.
Параметры
-
Throwable$exception Исключение.
Возвращаемое значение
intrender() public
render(): Cake\Http\Response
Рендерит ответ для исключения.
Возвращаемое значение
Cake\Http\ResponseПодробное описание свойств
$controller protected
Экземпляр контроллера.
Тип
Cake\Controller\Controller$error protected
Исключение, обрабатываемое в данный момент.
Тип
Throwable$exceptionHttpCodes protected
Сопоставление исключений с кодами состояния HTTP.
Это можно настроить для пользователей, которые не хотят, чтобы конкретные исключения генерировали ошибки 404 или хотят, чтобы их исключения приложения автоматически преобразовывались.
Тип
array$method protected
Метод, соответствующий исключению, для которого предназначен этот объект.
Тип
string$request protected
Если задан, этот запрос будет использоваться для создания контроллера, который отобразит ошибку.
Тип
Cake\Http\ServerRequest|null$template protected
Шаблон для рендеринга 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.2/class-Cake.Error.ExceptionRenderer.html