Класс ErrorHandlerMiddleware
Обработка ошибок посредством мидлвара.
Перехватывает исключения и преобразует их в страницы ошибок, подходящие по HTML или типу контента, используя CakePHP ExceptionRenderer.
- Cake\Error\Middleware\ErrorHandlerMiddleware использует Cake\Core\InstanceConfigTrait
Краткое описание свойств
-
$_defaultConfigprotectedЗначения по умолчанию конфигурации.array -
$exceptionRendererprotectedОбработка исключений.Cake\Error\ExceptionRendererInterface|callable|string|null
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор
- __invoke() publicОборачивание оставшихся мидлваров обработкой ошибок.
- getMessage() protectedГенерация сообщения журнала ошибок.
- getMessageForException() 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Сообщение об ошибке
getMessageForException()source protected
getMessageForException( Exception $exception , boolean $isPrevious = false )
Генерация сообщения для исключения
Параметры
- Exception
$exception - Исключение, для которого необходимо составить сообщение.
- boolean
$isPreviousнеобязательно false - False для исходного исключения, true для предыдущего
Возвращает
stringСообщение об ошибке
getRenderer()source protected
getRenderer( Exception $exception , Psr\Http\Message\ServerRequestInterface $request )
Получение экземпляра обработчика
Параметры
- Exception
$exception - Исключение, которое обрабатывается.
- Psr\Http\Message\ServerRequestInterface
$request - Запрос.
Возвращает
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']);
Параметры
- 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.7/class-Cake.Error.Middleware.ErrorHandlerMiddleware.html