Класс ErrorHandlerMiddleware
Обработка ошибок посредством мидлвара.
Перехватывает исключения и преобразует их в страницы ошибок, подходящие для HTML или других типов контента, используя CakePHP ExceptionRenderer.
- Cake\Error\Middleware\ErrorHandlerMiddleware использует Cake\Core\InstanceConfigTrait
Краткое описание свойств
-
$_defaultConfigзащищённоеЗначения конфигурации по умолчанию.array
Наследованные свойства
Краткое описание методов
- __construct() общедоступныйКонструктор
- __invoke() общедоступныйОборачивает оставшиеся мидлвары обработкой ошибок.
- getMessage() защищённоеГенерирует сообщение для лога ошибок.
- getRenderer() защищённоеПолучить экземпляр рендерера
- handleException() общедоступныйОбработать исключение и сгенерировать ответ об ошибке
- logException() защищённоеЗалогировать ошибку исключения, если применимо.
Подробное описание методов
__construct()source общедоступный
__construct( string|callable|null $renderer null , array $config [] )
Конструктор
Параметры
- string|callable|null
$rendererнеобязательно null Рендерер или имя класса для использования, или вызываемый фабричный метод.
- array
$configнеобязательно [] Параметры конфигурации для использования. Если пусто, будут использоваться
Configure::read('Error').
__invoke()source общедоступный
__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 защищённое
getMessage( Psr\Http\Message\ServerRequestInterface $request , Exception $exception )
Генерирует сообщение для лога ошибок.
Параметры
- Psr\Http\Message\ServerRequestInterface
$request - Текущий запрос.
- Exception
$exception - Исключение, для которого генерируется сообщение.
Возвращаемое значение
stringСообщение об ошибке
getRenderer()source защищённое
getRenderer( Exception $exception )
Получить экземпляр рендерера
Параметры
- Exception
$exception - Исключение, которое рендерится.
Возвращаемое значение
Cake\Error\BaseErrorHandlerРендерер исключения.
Исключения
ExceptionЕсли класс рендерера не найден.
handleException()source общедоступный
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 защищённое
logException( Psr\Http\Message\ServerRequestInterface $request , Exception $exception )
Залогировать ошибку исключения, если применимо.
Параметры
- Psr\Http\Message\ServerRequestInterface
$request - Текущий запрос.
- Exception
$exception - Исключение, для которого генерируется сообщение.
Используемые методы из Cake\Core\InstanceConfigTrait
_configDelete()source защищённое
_configDelete( string $key )
Удалить отдельный ключ конфигурации
Параметры
- string
$key - Ключ для удаления.
Исключения
Cake\Core\Exception\Exceptionпри попытке перезаписи существующей конфигурации
_configRead()source защищённое
_configRead( string|null $key )
Прочитать переменную конфигурации
Параметры
- string|null
$key - Ключ для чтения.
Возвращаемое значение
mixed_configWrite()source защищённое
_configWrite( string|array $key , mixed $value , boolean|string $merge false )
Записать переменную конфигурации
Параметры
- string|array
$key - Ключ для записи.
- mixed
$value - Значение для записи.
- boolean|string
$mergeнеобязательно false Истина для рекурсивного слияния, 'shallow' для простого слияния, ложь для перезаписи, по умолчанию ложь.
Исключения
Cake\Core\Exception\Exceptionпри попытке перезаписи существующей конфигурации
config()source общедоступный
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']);
Параметры
- string|array|null
$keyнеобязательно null - Ключ для получения/установки, или полный массив конфигураций.
- mixed|null
$valueнеобязательно null - Значение для установки.
- boolean
$mergeнеобязательно true - Выполнять рекурсивное слияние или перезапись существующей конфигурации, по умолчанию истинно.
Возвращаемое значение
mixedЗначение конфигурации для чтения, или сам объект при операциях записи.
Исключения
Cake\Core\Exception\ExceptionПри попытке установки невалидного ключа.
configShallow()source общедоступный
configShallow( string|array $key , mixed|null $value null )
Объединить предоставленную конфигурацию с существующей. В отличие от config(), которое выполняет рекурсивное слияние вложенных ключей, этот метод выполняет простое слияние.
Установка определённого значения:
$this->config('key', $value); Установка вложенного значения:
$this->config('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Параметры
- string|array
$key - Ключ для установки, или полный массив конфигураций.
- mixed|null
$valueнеобязательно null - Значение для установки.
Возвращаемое значение
$this Объект сам по себе.
Подробное описание свойств
$_defaultConfigsource
защищённое массив
Значения конфигурации по умолчанию.
-
logВключить логирование исключений. -
skipLogСписок исключений, для которых пропускается логирование. Исключения, расширяющие одно из перечисленных исключений, также не будут залогированы. Пример:'skipLog' => ['Cake\Error\NotFoundException', 'Cake\Error\UnauthorizedException']
traceДолжны ли логи ошибок включать трассировки стека?
[
'skipLog' => [],
'log' => true,
'trace' => false,
]
© 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.3/class-Cake.Error.Middleware.ErrorHandlerMiddleware.html