Класс BaseErrorHandler
Базовый обработчик ошибок, предоставляющий логику, общую для обработчиков ошибок CLI и веб-приложений.
Подклассы должны реализовать методы шаблонов для обработки отображения ошибок в своей среде.
Краткое описание свойств
- $_config protected
array<string, mixed>Конфигурация выполнения
- $_configInitialized protected
boolУказание того, была ли конфигурация свойства уже настроена по умолчанию
- $_defaultConfig protected
array<string, mixed>Параметры для обработки ошибок.
- $_handled protected
bool - $logger protected
Cake\Error\ErrorLoggerInterface|nullЭкземпляр регистратора исключений.
Краткое описание методов
-
_configDelete() protected
Удаляет единственный ключ конфигурации.
-
_configRead() protected
Считывает ключ конфигурации.
-
_configWrite() protected
Записывает ключ конфигурации.
-
_displayError() abstract protected
Отображает сообщение об ошибке специфичным для среды способом.
-
_displayException() abstract protected
Отображает исключение специфичным для среды способом.
-
_logError() protected
Записывает ошибку в журнал.
-
_stop() protected
Останавливает процесс.
-
configShallow() public
Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от
config(), который выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение. -
getConfig() public
Возвращает конфигурацию.
-
getConfigOrFail() public
Возвращает конфигурацию для конкретного ключа.
-
getLogger() public
Получает регистратор исключений.
-
handleError() public
Устанавливается в качестве обработчика ошибок по умолчанию CakePHP.
-
handleException() public
Обрабатывает неперехваченные исключения.
-
handleFatalError() public
Отображает/Записывает в журнал критическую ошибку.
-
increaseMemoryLimit() public
Увеличивает настройку PHP "memory_limit" в ini-файле на указанную величину в килобайтах.
-
logException() public
Записывает ошибку для исключения, если применимо.
-
mapErrorCode() public static
Преобразует код ошибки в слово ошибки и местоположение записи в журнал.
-
register() public
Регистрирует обработчики ошибок и исключений.
-
setConfig() public
Устанавливает конфигурацию.
-
wrapAndHandleException() public deprecated
Проверяет тип переданного исключения. Если это экземпляр
Error, то он оборачивает переданный объект внутри другого объекта исключения для обеспечения обратной совместимости.
Подробное описание методов
_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 optional True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Возвращает
voidИсключения
Cake\Core\Exception\CakeExceptionпри попытке перезаписать существующую конфигурацию
_displayError() abstract protected
_displayError(array $error, bool $debug): void
Отображает сообщение об ошибке специфичным для среды способом.
Подклассы должны реализовать этот метод для отображения ошибки в соответствии с требованиями среды выполнения.
Параметры
-
array$error Массив данных об ошибке.
-
bool$debug Включен ли режим отладки приложения.
Возвращает
void_displayException() abstract protected
_displayException(Throwable $exception): void
Отображает исключение специфичным для среды способом.
Подклассы должны реализовать этот метод для отображения неперехваченного исключения в соответствии с требованиями среды выполнения.
Параметры
-
Throwable$exception Неперехваченное исключение.
Возвращает
void_logError() protected
_logError(string|int $level, array $data): bool
Записывает ошибку в лог.
Параметры
-
string|int$level Имя уровня лога.
-
array$data Массив данных об ошибке.
Возвращает
bool_stop() protected
_stop(int $code): void
Останавливает процесс.
Реализовано в подклассах, которым это нужно.
Параметры
-
int$code Код выхода.
Возвращает
voidconfigShallow() 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 optional Значение для установки.
Возвращает
$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 optional Ключ для получения или null для всей конфигурации.
-
mixed$default optional Возвращаемое значение, когда ключ не существует.
Возвращает
mixedgetConfigOrFail() public
getConfigOrFail(string $key): mixed
Возвращает конфигурацию для этого конкретного ключа.
Значение конфигурации для этого ключа должно существовать, оно не может быть null.
Параметры
-
string$key Ключ для получения.
Возвращает
mixedИсключения
InvalidArgumentExceptiongetLogger() public
getLogger(): Cake\Error\ErrorLoggerInterface
Получить логгер исключений.
Возвращает
Cake\Error\ErrorLoggerInterfacehandleError() public
handleError(int $code, string $description, string|null $file = null, int|null $line = null, array<string, mixed>|null $context = null): bool
Устанавливается в качестве обработчика ошибок по умолчанию CakePHP.
Используйте config/error.php для настройки или замены этого обработчика ошибок. Эта функция будет использовать Debugger для отображения ошибок, когда включен режим отладки. И будет записывать ошибки в лог, когда режим отладки выключен.
Вы можете использовать параметр 'errorLevel', чтобы указать, какие типы ошибок будут обрабатываться. Трассировки стека для ошибок могут быть включены с помощью параметра 'trace'.
Параметры
-
int$code Код ошибки
-
string$description Описание ошибки
-
string|null$file optional Файл, в котором произошла ошибка
-
int|null$line optional Строка, вызвавшая ошибку
-
array<string, mixed>|null$context optional Контекст
Возвращает
boolhandleException() public
handleException(Throwable $exception): void
Обрабатывает неперехваченные исключения.
Использует шаблонный метод, предоставляемый подклассами, для отображения ошибок соответствующим образом для среды.
Параметры
-
Throwable$exception Экземпляр исключения.
Возвращает
voidИсключения
ExceptionКогда класс рендерера не найден
См. также
handleFatalError() public
handleFatalError(int $code, string $description, string $file, int $line): bool
Отображает/записывает в лог фатальную ошибку.
Параметры
-
int$code Код ошибки
-
string$description Описание ошибки
-
string$file Файл, в котором произошла ошибка
-
int$line Строка, вызвавшая ошибку
Возвращает
boolincreaseMemoryLimit() public
increaseMemoryLimit(int $additionalKb): void
Увеличивает настройку PHP "memory_limit" на указанное количество килобайт
Параметры
-
int$additionalKb Число в килобайтах
Возвращает
voidlogException() public
logException(Throwable $exception, Psr\Http\Message\ServerRequestInterface|null $request = null): bool
Записывает ошибку для исключения, если применимо.
Параметры
-
Throwable$exception Исключение для записи сообщения.
-
Psr\Http\Message\ServerRequestInterface|null$request optional Текущий запрос.
Возвращает
boolmapErrorCode() public static
mapErrorCode(int $code): array
Сопоставляет код ошибки со словом "Ошибка" и записывает местоположение.
Параметры
-
int$code Код ошибки для сопоставления
Возвращает
arrayregister() public
register(): void
Зарегистрировать обработчики ошибок и исключений.
Возвращает
voidsetConfig() 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При попытке установить неверный ключ.
wrapAndHandleException() public
wrapAndHandleException(Throwable $exception): void
Проверяет тип переданного исключения. Если это экземпляр Error, то он оборачивает переданный объект внутри другого объекта исключения для обеспечения обратной совместимости.
Параметры
-
Throwable$exception Исключение для обработки
Возвращает
voidПодробное описание свойств
$_config protected
Конфигурация во время выполнения
Тип
array<string, mixed>$_configInitialized protected
Указывает, была ли конфигурация уже настроена с значениями по умолчанию
Тип
bool$_defaultConfig protected
Параметры для использования при обработке ошибок.
Тип
array<string, mixed>$_handled protected
Тип
bool$logger protected
Экземпляр логгера исключений.
Тип
Cake\Error\ErrorLoggerInterface|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.BaseErrorHandler.html