Класс ErrorTrap
Точка входа в обработку ошибок CakePHP.
Используя метод register(), вы можете подключить ErrorTrap к обработчику ошибок по умолчанию PHP.
Когда ошибки перехватываются, они регистрируются (если регистрация включена). Затем срабатывает событие Error.beforeRender. Наконец, ошибки «отображаются» с помощью определённого рендерера. Если рендерер ошибок не определён в конфигурации, будет выбран один из реализаций по умолчанию на основе PHP SAPI.
Краткое описание свойств
- $_config protected
array<string, mixed>Конфигурация выполнения
- $_configInitialized protected
boolУказатель на то, была ли конфигурация свойств уже настроена по умолчанию
- $_defaultConfig protected
array<string, mixed>Параметры конфигурации. Обычно они определяются в config/app.php
- $_eventClass protected
stringИмя класса по умолчанию для новых объектов событий.
- $_eventManager protected
Cake\Event\EventManagerInterface|nullЭкземпляр Cake\Event\EventManager, который используется этим объектом для отправки внутренних событий.
Краткое описание методов
-
__construct() public
Конструктор
-
_configDelete() protected
Удаляет один ключ конфигурации.
-
_configRead() protected
Считывает ключ конфигурации.
-
_configWrite() protected
Записывает ключ конфигурации.
-
chooseErrorRenderer() protected
Выбор рендерера ошибок на основе конфигурации или SAPI
-
configShallow() public
Объединяет предоставленную конфигурацию с существующей. В отличие от
config(), который выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение. -
dispatchEvent() public
Обёртка для создания и отправки событий.
-
getConfig() public
Возвращает конфигурацию.
-
getConfigOrFail() public
Возвращает конфигурацию для данного ключа.
-
getEventManager() public
Возвращает экземпляр Cake\Event\EventManager для этого объекта.
-
handleError() public
Обработка ошибки из PHP set_error_handler
-
logError() protected
Вспомогательный метод для регистрации ошибок.
-
logger() public
Получение экземпляра регистратора.
-
register() public
Подключение ErrorTrap к обработчику ошибок по умолчанию PHP.
-
renderer() public
Получение экземпляра рендерера.
-
setConfig() public
Установка конфигурации.
-
setEventManager() public
Возвращает экземпляр Cake\Event\EventManagerInterface для этого объекта.
Подробное описание методов
__construct() public
__construct(array<string, mixed> $options = [])
Конструктор
Параметры
-
array<string, mixed>$options необязательный Массив опций. См. $_defaultConfig.
_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если происходит попытка перезаписи существующей конфигурации
chooseErrorRenderer() protected
chooseErrorRenderer(): class-stringCake\Error\ErrorRendererInterface>
Выбор обработчика ошибок на основе конфигурации или SAPI
Возвращает
class-stringCake\Error\ErrorRendererInterface>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 необязательный Значение для установки.
Возвращает
$thisdispatchEvent() public
dispatchEvent(string $name, array|null $data = null, object|null $subject = null): Cake\Event\EventInterface
Оборачивание для создания и отправки событий.
Возвращает отправленное событие.
Параметры
-
string$name Название события.
-
array|null$data необязательный Любое значение, которое вы хотите передать с этим событием, чтобы его могли прочитать слушатели.
-
object|null$subject необязательный Объект, к которому относится это событие ($this по умолчанию).
Возвращает
Cake\Event\EventInterfacegetConfig() 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Вызывает исключение
InvalidArgumentExceptiongetEventManager() public
getEventManager(): Cake\Event\EventManagerInterface
Возвращает экземпляр менеджера событий Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов событий объекта, или создавать свои собственные события и вызывать их по своему усмотрению.
Возвращает
Cake\Event\EventManagerInterfacehandleError() public
handleError(int $code, string $description, string|null $file = null, int|null $line = null): bool
Обработка ошибки из PHP set_error_handler
Будет использовать настроенный рендерер для генерации вывода и вывода его.
Этот метод отправит событие Error.beforeRender , которое можно прослушивать в глобальном менеджере событий.
Параметры
-
int$code Код ошибки
-
string$description Описание ошибки
-
string|null$file необязательный Файл, в котором произошла ошибка
-
int|null$line необязательный Строка, которая вызвала ошибку
Возвращает
boollogError() protected
logError(Cake\Error\PhpError $error): void
Вспомогательный метод для ведения журнала.
Параметры
-
Cake\Error\PhpError$error Объект ошибки, который нужно записать в журнал.
Возвращает
voidlogger() public
logger(): Cake\Error\ErrorLoggerInterface
Получение экземпляра логгера.
Возвращает
Cake\Error\ErrorLoggerInterfaceregister() public
register(): void
Присоединение этого ErrorTrap к обработчику ошибок по умолчанию PHP.
Это заменит существующий обработчик ошибок, и предыдущий обработчик ошибок будет удален.
Этот метод также установит глобальный уровень ошибок с помощью error_reporting().
Возвращает
voidrenderer() public
renderer(): Cake\Error\ErrorRendererInterface
Получение экземпляра рендерера.
Возвращает
Cake\Error\ErrorRendererInterfacesetConfig() 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Когда пытаетесь установить неверный ключ.
setEventManager() public
setEventManager(Cake\Event\EventManagerInterface $eventManager): $this
Возвращает экземпляр Cake\Event\EventManagerInterface для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов событий объекта, или создавать свои собственные события и вызывать их по своему усмотрению.
Параметры
-
Cake\Event\EventManagerInterface$eventManager устанавливаемый eventManager
Возвращает
$thisПодробности свойства
$_config protected
Конфигурация во время выполнения
Тип
array<string, mixed>$_configInitialized protected
Указание, была ли конфигурация свойства уже настроена по умолчанию
Тип
bool$_defaultConfig protected
Параметры конфигурации. Обычно они определяются в config/app.php
-
errorLevel- int - Уровень ошибок, которые вы хотите отслеживать. -
errorRenderer- string - Имя класса для обработки ошибок. По умолчанию выбирается между Html и Console в зависимости от SAPI. -
log- boolean - Требуется ли регистрация ошибок. -
logger- string - Имя класса регистратора ошибок, который нужно использовать. -
trace- boolean - Нужно ли включать трассировки в регистрируемые ошибки.
Тип
array<string, mixed>$_eventClass protected
Имя класса по умолчанию для новых объектов событий.
Тип
string$_eventManager protected
Экземпляр Cake\Event\EventManager, который использует этот объект для отправки внутренних событий.
Тип
Cake\Event\EventManagerInterface|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.ErrorTrap.html