Spec-Zone.ru › CakePHP 3.4

Класс ErrorHandlerMiddleware

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

Перехватывает исключения и преобразует их в страницы ошибок, соответствующие 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|string|null
    Обработчик исключений.

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

  • _config, _configInitialized

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

  • __construct() public
    Конструктор
  • __invoke() public
    Оборачивание оставшихся middleware обработкой ошибок.
  • getMessage() protected
    Генерация сообщения журнала ошибок.
  • getRenderer() protected
    Получение экземпляра обработчика.
  • handleException() public
    Обработка исключения и генерация ответа об ошибке
  • 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 )

Оборачивание оставшихся middleware обработкой ошибок.

Параметры

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

Возвращает

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

getMessage()source protected

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

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

Параметры

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

Возвращает

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

getRenderer()source protected

getRenderer( Exception $exception )

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

Параметры

Exception $exception
Исключение, которое обрабатывается.

Возвращает

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
Ответ

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

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

Выбрасывает

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

config()source public

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
END_OF_DOCUMENT_MARKER

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
Значение конфигурации.

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|string|null

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

© 2005–2017 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.4/class-Cake.Error.Middleware.ErrorHandlerMiddleware.html

Spec-Zone.ru

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