beinsystems / essentials
Essential components for my projects including error handler, database utilities, and Telegram bot integration
Installs: 74
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Forks: 0
pkg:composer/beinsystems/essentials
README
Пакет с основными компонентами для проектов BeinSystems, включающий обработчик ошибок, утилиты для работы с базой данных и интеграцию с Telegram ботом.
Установка
composer require beinsystems/essentials
Автоматическая настройка
После установки пакета через Composer, все компоненты автоматически подключаются и настраиваются:
- Обработчик ошибок - автоматически регистрируется и обрабатывает все ошибки PHP
- Утилиты базы данных - класс Database для работы с базой данных
- Telegram бот - функции для отправки уведомлений в Telegram
- Функция stop() - для корректного завершения скриптов
Использование
Просто подключите автозагрузчик Composer в вашем проекте:
<?php
require_once 'vendor/autoload.php';
// Обработчик ошибок уже активен!
// Все ошибки будут автоматически логироваться и отправляться в Telegram
// Ваш код...
Конфигурация
Убедитесь, что в вашем .env файле настроены следующие переменные:
# Настройки приложения
DEBUG_MODE=false
ADMIN_EMAIL=your@email.com
# Настройки для генератора Snowflake
DATACENTER_ID=1
WORKER_ID=1
# Настройки для обработки ошибок
ERROR_REPORTING=E_ALL
DISPLAY_ERRORS=1
LOG_ERRORS=1
# Настройки логирования
LOG_LEVEL=debug
LOG_FILE_PATH=logs/app.log
LOG_TO_FILE=1 # 1 - включить логирование в файл, 0 - выключить
LOG_TO_TELEGRAM=1 # 1 - включить логирование в Telegram, 0 - выключить
LOG_DATE_FORMAT=Y-m-d H:i:s # Формат даты для логов
# Database Configuration
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=your_database
DB_USERNAME=your_username
DB_PASSWORD=your_password
# Telegram Integration
TG_BOT_TOKEN=your_bot_token
TG_CHAT_ID=your_chat_id
# Настройки RabbitMQ
RABBITMQ_HOST=localhost
RABBITMQ_PORT=5672
RABBITMQ_USER=guest
RABBITMQ_PASSWORD=guest
RABBITMQ_VHOST=/
Компоненты
ErrorHandler
Автоматически обрабатывает все ошибки PHP и отправляет уведомления в Telegram.
Настройки логирования:
LOG_TO_FILE- включить/выключить логирование ошибок в файлLOG_TO_TELEGRAM- включить/выключить отправку ошибок в TelegramLOG_FILE_PATH- путь к файлу логовLOG_DATE_FORMAT- формат даты для записей в логах
Пример использования:
// Логирование происходит автоматически при возникновении ошибок
// Для ручного логирования используйте:
log_to_file("Ваше сообщение");
Database
Класс для работы с базой данных с встроенным логированием SQL-запросов.
Управление логированием:
$db = new Database($dsn, $username, $password);
// Включить/выключить логирование в файл
$db->enableFileLogging();
$db->disableFileLogging();
// Включить/выключить логирование в Telegram
$db->enableTelegramLogging();
$db->disableTelegramLogging();
// Проверить статус логирования
if ($db->isFileLoggingEnabled()) {
// ...
}
Примечание: По умолчанию настройки логирования берутся из переменных окружения LOG_TO_FILE и LOG_TO_TELEGRAM.
Telegram Bot
Функции для отправки сообщений в Telegram.
Доступные функции:
// Отправка отформатированного сообщения
SendTlgrmReport($text);
// Отправка объекта/массива (автоматически форматируется в JSON)
SendTG($object);
Настройки:
TG_BOT_TOKEN- токен вашего Telegram ботаTG_CHAT_ID- ID чата для отправки сообщений
Stop Function
Функция для корректного завершения скриптов с кодами ошибок.
Использование:
// Завершить с ошибкой
stop(1001, 400, "Неверные параметры запроса");
// Завершить успешно
success($data, "Операция выполнена успешно");