Spec-Zone.ru › CakePHP 3.8

Класс ErrorHandlerMiddleware

Обработка ошибок посредством мидлвеара.

Перехватывает исключения и преобразует их в страницы ошибок, соответствующие HTML или типу контента, используя CakePHP ExceptionRenderer.

Cake\Error\Middleware\ErrorHandlerMiddleware использует Cake\Core\InstanceConfigTrait
Пространство имён: Cake\Error\Middleware
Расположение: Error/Middleware/ErrorHandlerMiddleware.php

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

  • $_defaultConfig protected
    array
    Значения конфигурации по умолчанию.
  • $exceptionRenderer protected
    Cake\Error\ExceptionRendererInterface|callable|string|null
    Отображение исключения.

Наследованные свойства

  • _config, _configInitialized

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

  • __construct() public
    Конструктор
  • __invoke() public
    Оборачивание остального мидлвеара обработкой ошибок.
  • getMessage() protected
    Генерация сообщения для журнала ошибок.
  • getMessageForException() protected
    Генерация сообщения для исключения
  • getRenderer() protected
    Получение экземпляра рендерера
  • handleException() public
    Обработка исключения и генерация ответа об ошибке
  • handleInternalError() protected
  • logException() protected
    Логирование ошибки для исключения, если применимо.

Подробное описание методов

__construct()source public

__construct( string|callable|null $exceptionRenderer = null , array $config = [] )

Конструктор

Параметры

string|callable|null $exceptionRenderer необязательно null

Рендерер или имя класса для использования, или вызываемая фабрика. Если null, будет использоваться Configure::read('Error.exceptionRenderer').

array $config необязательно []

Параметры конфигурации для использования. Если пусто, будет использоваться Configure::read('Error').

__invoke()source public

__invoke( Psr\Http\Message\ServerRequestInterface $request , Psr\Http\Message\ResponseInterface $response , callable $next )

Оборачивание остального мидлвеара обработкой ошибок.

Параметры

Psr\Http\Message\ServerRequestInterface $request
Запрос.
Psr\Http\Message\ResponseInterface $response
Ответ.
callable $next
Обработчик для вызова следующего мидлвеара.

Возвращает

Psr\Http\Message\ResponseInterface
Ответ

getMessage()source protected

getMessage( Psr\Http\Message\ServerRequestInterface $request , Exception $exception )

Генерация сообщения для журнала ошибок.

Параметры

Psr\Http\Message\ServerRequestInterface $request
Текущий запрос.
Exception $exception
Исключение, для которого генерируется сообщение.

Возвращает

string
Сообщение об ошибке

getMessageForException()source protected

getMessageForException( Exception $exception , boolean $isPrevious = false )

Генерация сообщения для исключения

Параметры

Exception $exception
Исключение, для которого генерируется сообщение.
boolean $isPrevious необязательно false
Ложь для исходного исключения, истина для предыдущего

Возвращает

string
Сообщение об ошибке

getRenderer()source protected

getRenderer( Exception $exception , Psr\Http\Message\ServerRequestInterface $request )

Получение экземпляра рендерера

Параметры

Exception $exception
Исключение, которое отображается.
Psr\Http\Message\ServerRequestInterface $request
Запрос.

Возвращает

Cake\Error\ExceptionRendererInterface
Рендерер исключений.

Выбрасывает

Exception
Если класс рендерера не найден.

handleException()source public

handleException( Exception $exception , Psr\Http\Message\ServerRequestInterface $request , Psr\Http\Message\ResponseInterface $response )

Обработка исключения и генерация ответа об ошибке

Параметры

Exception $exception
Исключение для обработки.
Psr\Http\Message\ServerRequestInterface $request
Запрос.
Psr\Http\Message\ResponseInterface $response
Ответ.

Возвращает

Psr\Http\Message\ResponseInterface
Ответ

handleInternalError()source protected

handleInternalError( Psr\Http\Message\ResponseInterface $response )

Параметры

Psr\Http\Message\ResponseInterface $response
Ответ

Возвращает

Psr\Http\Message\ResponseInterface
Ответ

logException()source protected

logException( Psr\Http\Message\ServerRequestInterface $request , Exception $exception )

Логирование ошибки для исключения, если применимо.

Параметры

Psr\Http\Message\ServerRequestInterface $request
Текущий запрос.
Exception $exception
Исключение, для которого генерируется сообщение.

Используемые методы из Cake\Core\InstanceConfigTrait

_configDelete()source protected

_configDelete( string $key )

Удаляет отдельный ключ конфигурации.

Параметры

string $key
Ключ для удаления.

Выбрасывает

Cake\Core\Exception\Exception
при попытке перезаписать существующую конфигурацию

_configRead()source protected

_configRead( string|null $key )

Чтение ключа конфигурации.

Параметры

string|null $key
Ключ для чтения.

Возвращает

mixed

_configWrite()source protected

_configWrite( string|array $key , mixed $value , boolean|string $merge = false )

Запись ключа конфигурации.

Параметры

string|array $key
Ключ для записи.
mixed $value
Значение для записи.
boolean|string $merge необязательно false

Истина для рекурсивного слияния, 'shallow' для простого слияния, ложь для перезаписи, по умолчанию ложь.

Выбрасывает

Cake\Core\Exception\Exception
при попытке перезаписи существующей конфигурации
END_OF_DOCUMENT_MARKER

config()source public deprecated

config( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )

Получает/устанавливает конфигурацию.

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

Чтение всей конфигурации:

$this->config();

Чтение определённого значения:

$this->config('key');

Чтение вложенного значения:

$this->config('some.nested.key');

Установка определённого значения:

$this->config('key', $value);

Установка вложенного значения:

$this->config('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->config(['one' => 'value', 'another' => 'value']);

Устаревшая

3.4.0 используйте setConfig()/getConfig() вместо этого.

Параметры

string|array|null $key необязательно null
Ключ для получения/установки или полный массив конфигураций.
mixed|null $value необязательно null
Значение для установки.
boolean $merge необязательно true
Выполнять рекурсивное слияние или перезапись существующей конфигурации, по умолчанию — true.

Возвращает

mixed
Значение конфигурации, которое считывается, или сам объект при операциях записи.

Выбрасывает

Cake\Core\Exception\Exception
При попытке установить некорректный ключ.

configShallow()source public

configShallow( string|array $key , mixed|null $value = null )

Объединить предоставленную конфигурацию с существующей конфигурацией. В отличие от config(), которая выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.

Установка определённого значения:

$this->configShallow('key', $value);

Установка вложенного значения:

$this->configShallow('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->configShallow(['one' => 'value', 'another' => 'value']);

Параметры

string|array $key
Ключ для установки или полный массив конфигураций.
mixed|null $value необязательно null
Значение для установки.

Возвращает


$this

getConfig()source public

getConfig( string|null $key = null , mixed $default = null )

Возвращает конфигурацию.

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

Чтение всей конфигурации:

$this->getConfig();

Чтение определённого значения:

$this->getConfig('key');

Чтение вложенного значения:

$this->getConfig('some.nested.key');

Чтение со значением по умолчанию:

$this->getConfig('some-key', 'default-value');

Параметры

string|null $key необязательно null
Ключ для получения или null для всей конфигурации.
mixed $default необязательно null
Возвращаемое значение, если ключ не существует.

Возвращает

mixed
Данные конфигурации по указанному ключу или null, если ключ не существует.

setConfig()source public

setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )

Устанавливает конфигурацию.

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

Установка определённого значения:

$this->setConfig('key', $value);

Установка вложенного значения:

$this->setConfig('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->setConfig(['one' => 'value', 'another' => 'value']);

Параметры

string|array $key
Ключ для установки или полный массив конфигураций.
mixed|null $value необязательно null
Значение для установки.
boolean $merge необязательно true
Выполнять рекурсивное слияние или перезапись существующей конфигурации, по умолчанию — true.

Возвращает


$this

Выбрасывает

Cake\Core\Exception\Exception
При попытке установить некорректный ключ.

Подробное описание свойств

$_defaultConfigsource

protected array

Значения конфигурации по умолчанию.

  • log Включить протоколирование исключений.
  • skipLog Список исключений, которые следует пропустить при протоколировании. Исключения, расширяющие один из перечисленных исключений, также не будут протоколироваться. Пример:

    'skipLog' => ['Cake\Error\NotFoundException', 'Cake\Error\UnauthorizedException']
  • trace Должны ли журналы ошибок содержать трассировки стека?

[
    'skipLog' => [],
    'log' => true,
    'trace' => false,
]

$exceptionRenderersource

protected Cake\Error\ExceptionRendererInterface|callable|string|null

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

© 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/3.8/class-Cake.Error.Middleware.ErrorHandlerMiddleware.html

Spec-Zone.ru

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