Spec-Zone.ru › CakePHP 4.4

Class WebExceptionRenderer

Обработчик исключений веб-приложения.

Перехватывает и обрабатывает все необработанные исключения. Отображает полезные ошибки фреймворка, когда debug = true. Когда debug = false, WebExceptionRenderer будет отображать ошибки 404 или 500. Если выброшено необработанное исключение, тип которого WebExceptionHandler не знает, оно будет обработано как ошибка 500.

Реализация обработки исключений, специфичных для приложения

Вы можете реализовать обработку исключений, специфичных для приложения, создав подкласс WebExceptionRenderer и настроив его как exceptionRenderer в config/error.php

Использование подкласса WebExceptionRenderer

Использование подкласса WebExceptionRenderer предоставляет полный контроль над тем, как отображаются исключения. Вы можете настроить свой класс в файле config/app.php.

Пространство имён: Cake\Error\Renderer

Краткое описание свойств

  • $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

string

clearOutput() protected

clearOutput(): void

Очистка буферов вывода, чтобы страницы ошибок отображались правильно.

Returns

void

getHttpCode() protected

getHttpCode(Throwable $exception): int

Получает соответствующий HTTP-код состояния для исключения.

Parameters

Throwable $exception

Exception.

Returns

int

render() public

render(): Cake\Http\Response

Рендеринг ответа для исключения.

Returns

Cake\Http\Response

write() 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API