Class WebExceptionRenderer
Обработчик исключений веб-приложения.
Перехватывает и обрабатывает все необработанные исключения. Отображает полезные ошибки фреймворка, когда debug = true. Когда debug = false, WebExceptionRenderer будет отображать ошибки 404 или 500. Если выброшено необработанное исключение, тип которого WebExceptionHandler не знает, оно будет обработано как ошибка 500.
Реализация обработки исключений, специфичных для приложения
Вы можете реализовать обработку исключений, специфичных для приложения, создав подкласс WebExceptionRenderer и настроив его как exceptionRenderer в config/error.php
Использование подкласса WebExceptionRenderer
Использование подкласса WebExceptionRenderer предоставляет полный контроль над тем, как отображаются исключения. Вы можете настроить свой класс в файле 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
Рендеринг ответа для исключения.
-
write() public
Вывести содержимое ответа
Подробное описание методов
__construct() public
__construct(Throwable $exception, Cake\Http\ServerRequest|null $request = null)
Создает контроллер для выполнения рендеринга ошибочного ответа.
Parameters
-
Throwable$exception Exception.
-
Cake\Http\ServerRequest|null$request optional Запрос, если он установлен, будет использован вместо создания нового.
__debugInfo() public
__debugInfo(): array<string, mixed>
Возвращает массив, который может быть использован для описания внутреннего состояния этого объекта.
Returns
array<string, mixed>_customMethod() protected
_customMethod(string $method, Throwable $exception): Cake\Http\Response
Рендеринг пользовательского метода/шаблона ошибки.
Parameters
-
string$method Имя вызываемого метода.
-
Throwable$exception Исключение для рендеринга.
Returns
Cake\Http\Response_getController() protected
_getController(): Cake\Controller\Controller
Получение экземпляра контроллера для обработки исключения. Переопределите этот метод в подклассах для настройки используемого контроллера. Этот метод возвращает встроенный ErrorController обычно, или если ошибка повторяется, будет использоваться простой контроллер.
Returns
Cake\Controller\Controller_message() protected
_message(Throwable $exception, int $code): string
Получение сообщения об ошибке.
Parameters
-
Throwable$exception Exception.
-
int$code Код ошибки.
Returns
string_method() protected
_method(Throwable $exception): string
Получение имени метода
Parameters
-
Throwable$exception Экземпляр исключения.
Returns
string_outputMessage() protected
_outputMessage(string $template): Cake\Http\Response
Генерирует ответ с использованием объекта контроллера.
Parameters
-
string$template Шаблон для рендеринга.
Returns
Cake\Http\Response_outputMessageSafe() protected
_outputMessageSafe(string $template): Cake\Http\Response
Более безопасный способ отображения сообщений об ошибках, заменяет все вспомогательные функции на базовые и не вызывает методы компонентов.
Parameters
-
string$template Шаблон для рендеринга.
Returns
Cake\Http\Response_shutdown() protected
_shutdown(): Cake\Http\Response
Запуск событий завершения работы.
Инициирует события afterFilter и afterDispatch.
Returns
Cake\Http\Response_template() protected
_template(Throwable $exception, string $method, int $code): string
Получение шаблона для отображения информации об исключении.
Parameters
-
Throwable$exception Экземпляр исключения.
-
string$method Имя метода.
-
int$code Код ошибки.
Returns
stringclearOutput() protected
clearOutput(): void
Очистка буферов вывода, чтобы страницы ошибок отображались правильно.
Returns
voidgetHttpCode() protected
getHttpCode(Throwable $exception): int
Получает соответствующий HTTP-код состояния для исключения.
Parameters
-
Throwable$exception Exception.
Returns
intrender() public
render(): Cake\Http\Response
Рендеринг ответа для исключения.
Returns
Cake\Http\Responsewrite() public
write(Psr\Http\Message\ResponseInterface|string $output): void
Вывести содержимое ответа
Parameters
-
Psr\Http\Message\ResponseInterface|string$output Ответ для вывода.
Returns
voidПодробное описание свойств
$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.4/class-Cake.Error.Renderer.WebExceptionRenderer.html