Класс ErrorHandlerMiddleware
Обработка ошибок посредством middleware.
Перехватывает исключения и преобразует их в страницы ошибок, подходящие по HTML или типу содержимого, используя CakePHP ExceptionRenderer.
- Cake\Error\Middleware\ErrorHandlerMiddleware использует Cake\Core\InstanceConfigTrait
Mixin: \Cake\Core\InstanceConfigTrait
Расположение: Error/Middleware/ErrorHandlerMiddleware.php
Краткое описание свойств
-
$_defaultConfigprotectedЗначения конфигурации по умолчанию.array -
$exceptionRendererprotectedОбработка исключений.Cake\Error\ExceptionRendererInterface|callable|string|null
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор
- __invoke() publicОборачивание оставшихся middleware с обработкой ошибок.
- getMessage() protectedГенерация сообщения журнала ошибок.
- getRenderer() protectedПолучение экземпляра обработчика
- handleException() publicОбработка исключения и генерация ответа об ошибке
- handleInternalError() protected
- logException() protectedРегистрация ошибки для исключения, если применимо.
Подробное описание методов
__construct()source public
__construct( string|callable|null $exceptionRenderer = null , array $config = [] )
Конструктор
Параметры
- string|callable|null
$exceptionRendereroptional null Обработчик или имя класса для использования или вызываемая фабрика. Если null, будет использоваться Configure::read('Error.exceptionRenderer').
- array
$configoptional [] Параметры конфигурации для использования. Если пусто, будет использоваться
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Ответ
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
$mergeoptional false True для рекурсивного объединения, 'shallow' для простого объединения, false для перезаписи, по умолчанию false.
Исключения
Cake\Core\Exception\Exceptionпри попытке перезаписи существующей конфигурации
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
$keyoptional null - Ключ для получения/установки или массив конфигураций.
- mixed|null
$valueoptional null - Значение для установки.
- boolean
$mergeoptional 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Значение считываемой конфигурации.
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.6/class-Cake.Error.Middleware.ErrorHandlerMiddleware.html