Spec-Zone.ru › CakePHP 4.3

Класс ExceptionRenderer

Обработчик исключений.

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

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

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

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

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

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

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

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

Spec-Zone.ru

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