Spec-Zone.ru › CakePHP 3.5

Класс ErrorHandlerMiddleware

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

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

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

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

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

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

  • _config, _configInitialized

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

  • __construct() public
    Конструктор
  • __invoke() public
    Оборачивает оставшиеся миддлвары обработкой ошибок.
  • getMessage() 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
Сообщение об ошибке

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

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

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
При попытке установить недопустимый ключ.
END_OF_DOCUMENT_MARKER

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']);

Параметры

строка|массив $key
Ключ для установки или полный массив конфигураций.
смешанное|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');

Параметры

строка|null $key необязательно null
Ключ для получения или null для всей конфигурации.
смешанное $default необязательно 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']);

Параметры

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

Возвращает


$this

Выбрасывает

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

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

$_defaultConfigsource

protected массив

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

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

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

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

$exceptionRenderersource

protected Cake\Error\ExceptionRendererInterface|вызываемая функция|строка|null

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

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

Spec-Zone.ru

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