Класс ErrorHandlerMiddleware
Обработка ошибок посредством middleware.
Перехватывает исключения и преобразует их в страницы ошибок HTML или соответствующие типу контента страницы ошибок с помощью CakePHP ExceptionRenderer.
Краткое описание свойств
- $_config protected
array<string, mixed>Конфигурация выполнения
- $_configInitialized protected
boolУказывает, была ли конфигурация свойств уже настроена со значениями по умолчанию
- $_defaultConfig protected
array<string, mixed>Значения конфигурации по умолчанию.
- $errorHandler protected
Cake\Error\ErrorHandler|nullЭкземпляр обработчика ошибок.
- $exceptionTrap protected
Cake\Error\ExceptionTrap|nullЭкземпляр ExceptionTrap
Краткое описание методов
-
__construct() public
Конструктор
-
_configDelete() protected
Удаляет единственный ключ конфигурации.
-
_configRead() protected
Читает ключ конфигурации.
-
_configWrite() protected
Записывает ключ конфигурации.
-
configShallow() public
Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от
config(), который выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение. -
getConfig() public
Возвращает конфигурацию.
-
getConfigOrFail() public
Возвращает конфигурацию для этого конкретного ключа.
-
getErrorHandler() protected
Получить экземпляр обработчика ошибок
-
getExceptionTrap() protected
Получить экземпляр exception trap
-
handleException() public
Обработать исключение и сгенерировать ответ об ошибке
-
handleInternalError() protected
Обработать внутренние ошибки.
-
handleRedirect() public
Преобразовать исключение перенаправления в ответ.
-
process() public
Оборачивает оставшиеся middleware обработкой ошибок.
-
setConfig() public
Устанавливает конфигурацию.
Подробное описание методов
__construct() public
__construct(Cake\Error\ErrorHandlerCake\Error\ExceptionTrap|array $errorHandler = [])
Конструктор
Параметры
-
Cake\Error\ErrorHandlerCake\Error\ExceptionTrap|array$errorHandler необязательный Экземпляр обработчика ошибок или массив конфигурации.
Исключения
InvalidArgumentException_configDelete() protected
_configDelete(string $key): void
Удаляет один ключ конфигурации.
Параметры
-
string$key Ключ для удаления.
Возвращает
voidИсключения
Cake\Core\Exception\CakeExceptionпри попытке перезаписи существующей конфигурации
_configRead() protected
_configRead(string|null $key): mixed
Читает ключ конфигурации.
Параметры
-
string|null$key Ключ для чтения.
Возвращает
mixed_configWrite() protected
_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void
Записывает ключ конфигурации.
Параметры
-
array<string, mixed>|string$key Ключ для записи.
-
mixed$value Значение для записи.
-
string|bool$merge необязательный True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи; по умолчанию false.
Возвращает
voidИсключения
Cake\Core\Exception\CakeExceptionпри попытке перезаписи существующей конфигурации
configShallow() public
configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this
Объединяет предоставленную конфигурацию с текущей конфигурацией. В отличие от config(), которая выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.
Установка конкретного значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
-
array<string, mixed>|string$key Ключ для установки или полный массив конфигурации.
-
mixed|null$value необязательный Значение для установки.
Возвращает
$thisgetConfig() public
getConfig(string|null $key = null, mixed $default = null): mixed
Возвращает конфигурацию.
Использование
Чтение всей конфигурации:
$this->getConfig();
Чтение конкретного значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Параметры
-
string|null$key необязательный Ключ для получения или null для всей конфигурации.
-
mixed$default необязательный Возвращаемое значение, когда ключ не существует.
Возвращает
mixedgetConfigOrFail() public
getConfigOrFail(string $key): mixed
Возвращает конфигурацию для указанного ключа.
Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.
Параметры
-
string$key Ключ для получения.
Возвращает
mixedИсключения
InvalidArgumentExceptiongetErrorHandler() protected
getErrorHandler(): Cake\Error\ErrorHandler
Получить экземпляр обработчика ошибок
Возвращает
Cake\Error\ErrorHandlergetExceptionTrap() protected
getExceptionTrap(): Cake\Error\ExceptionTrap
Получить экземпляр обработчика исключений
Возвращает
Cake\Error\ExceptionTraphandleException() public
handleException(Throwable $exception, Psr\Http\Message\ServerRequestInterface $request): Psr\Http\Message\ResponseInterface
Обрабатывает исключение и генерирует ответ об ошибке
Параметры
-
Throwable$exception Исключение для обработки.
-
Psr\Http\Message\ServerRequestInterface$request Запрос.
Возвращает
Psr\Http\Message\ResponseInterfacehandleInternalError() protected
handleInternalError(): Psr\Http\Message\ResponseInterface
Обрабатывает внутренние ошибки.
Возвращает
Psr\Http\Message\ResponseInterfacehandleRedirect() public
handleRedirect(Cake\Http\Exception\RedirectException $exception): Psr\Http\Message\ResponseInterface
Преобразует исключение перенаправления в ответ.
Параметры
-
Cake\Http\Exception\RedirectException$exception Исключение для обработки
Возвращает
Psr\Http\Message\ResponseInterfaceprocess() public
process(ServerRequestInterface $request, RequestHandlerInterface $handler): Psr\Http\Message\ResponseInterface
Оборачивает оставшуюся среду обработки с обработкой ошибок.
Обрабатывает входящий запрос сервера для создания ответа. Если не может создать ответ самостоятельно, может делегировать обработку запроса поставленному обработчику.
Параметры
-
ServerRequestInterface$request Запрос.
-
RequestHandlerInterface$handler Обработчик запроса.
Возвращает
Psr\Http\Message\ResponseInterfacesetConfig() public
setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this
Устанавливает конфигурацию.
Использование
Установка конкретного значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
-
array<string, mixed>|string$key Ключ для установки или полный массив конфигурации.
-
mixed|null$value необязательный Значение для установки.
-
bool$merge необязательный Производить ли рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.
Возвращает
$thisИсключения
Cake\Core\Exception\CakeExceptionПри попытке установки недопустимого ключа.
Подробное описание свойств
$_config protected
Конфигурация во время выполнения
Тип
array<string, mixed>$_configInitialized protected
Указывает, была ли конфигурация уже настроена со значениями по умолчанию
Тип
bool$_defaultConfig protected
Значения конфигурации по умолчанию.
Игнорируется, если конструктору передан экземпляр ExceptionTrap.
Ключи и значения конфигурации совместно используются с ExceptionTrap. Этот класс передаст свою конфигурацию классу ExceptionTrap, если вы используете конструктор со стилем массива.
Тип
array<string, mixed>$errorHandler protected
Экземпляр обработчика ошибок.
Тип
Cake\Error\ErrorHandler|null$exceptionTrap protected
Экземпляр ExceptionTrap
Тип
Cake\Error\ExceptionTrap|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/4.4/class-Cake.Error.Middleware.ErrorHandlerMiddleware.html