Класс ErrorHandlerMiddleware
Обработка ошибок посредством миддлвара.
Перехватывает исключения и преобразует их в страницы ошибок, подходящих по HTML или типу контента, используя CakePHP ExceptionRenderer.
- Cake\Error\Middleware\ErrorHandlerMiddleware использует Cake\Core\InstanceConfigTrait
Миксин: \Cake\Core\InstanceConfigTrait
Расположение: Error/Middleware/ErrorHandlerMiddleware.php
Краткое описание свойств
-
$_defaultConfigprotectedЗначения конфигурации по умолчанию.array -
$exceptionRendererprotectedОбработка исключений.Cake\Error\ExceptionRendererInterface|callable|string|null
Унаследованные свойства
Краткое описание методов
- __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При попытке установить недопустимый ключ.
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