Обработка Ошибок (Error Handling)
Класс TGZ
включает в себя трейт ErrorHandler
, который предоставляет мощные механизмы для перехвата, форматирования и отправки информации об ошибках и исключениях.
setUserLogError
Метод setUserLogError
активирует встроенный обработчик ошибок. При возникновении ошибок информация о них будет отформатирована и отправлена указанному пользователю(ям) Telegram или передана в пользовательскую функцию-обработчик.
Параметры метода
# | Название | Тип | Описание |
---|---|---|---|
1 | ids | int |string |array |callable | Один или несколько ID пользователей/чатов, куда будут отправляться отчеты об ошибках. Или замыкание со своей обработкой |
Возвращает
TGZ
- Экземпляр класса TGZ
для цепочки вызовов.
Пример использования
<?php
require_once __DIR__ . 'vendor/autoload.php';
use ZhenyaGR\TGZ\TGZ;
$tg = TGZ::create(ТОКЕН);
// 1. Отправка ошибок одному пользователю Telegram
$adminChatId = 123456789; // Ваш Telegram ID
$tg->setUserLogError($adminChatId);
// 2. Отправка ошибок нескольким пользователям Telegram
$adminChatIds = [123456789, 987654321]; // ID нескольких администраторов
$tg->setUserLogError($adminChatIds);
// 3. Использование пользовательской функции-обработчика ошибок
$tg->setUserLogError(function(string $type, string $message, ?int $code, ?Throwable $exception) {
// Здесь вы можете записать ошибку в файл, отправить в Sentry и т.д.
error_log("[$type] Ошибка: " . $message);
});
setTracePathFilter
Метод setTracePathFilter
позволяет указать пути к файлам или директориям, которые будут скрыты или сокращены в трассировке стека ошибок.
Параметры метода
# | Название | Тип | Описание |
---|---|---|---|
1 | pathes | string |array | Один путь или массив путей для фильтрации. |
Возвращает
void
Пример использования
<?php
require_once __DIR__ . 'vendor/autoload.php';
use ZhenyaGR\TGZ\TGZ;
$tg = TGZ::create(ТОКЕН)->setUserLogError(123456789);
// Фильтрация папки vendor
$tg->setTracePathFilter('/path/to/your/project/vendor');
shortTrace
Метод shortTrace
позволяет настроить отображение трассировки стека ошибок, оставляя только те кадры, которые относятся к вашему пользовательскому коду.
Параметры метода
# | Название | Тип | Описание |
---|---|---|---|
1 | enable | bool | Если true , активирует короткую трассировку (по умолчанию false ). |
Возвращает
TGZ
- Экземпляр класса TGZ
для цепочки вызовов.
Пример использования
<?php
require_once __DIR__ . 'vendor/autoload.php';
use ZhenyaGR\TGZ\TGZ;
$tg = TGZ::create(ТОКЕН);
$adminChatId = 123456789;
$tg->setUserLogError($adminChatId);
// Включение короткой трассировки:
$tg->shortTrace(true);