beinsystems/essentials
Composer 安装命令:
composer require beinsystems/essentials
包简介
Essential components for my projects including error handler, database utilities, and Telegram bot integration
README 文档
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, "Операция выполнена успешно");
beinsystems/essentials 适用场景与选型建议
beinsystems/essentials 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 76 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 07 月 18 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「database」 「utilities」 「error-handler」 「telegram」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 beinsystems/essentials 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 beinsystems/essentials 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 beinsystems/essentials 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Dibi is Database Abstraction Library for PHP
Store your language lines in the database, yaml or other sources
A package for automatically encrypting and decrypting Eloquent attributes in Laravel 5.5+, based on configuration settings.
A collection of enhancements and utilities for the Silverstripe UserForms module
Capture and monitor detailed error logs with nice dashboard and UI.
A PSR-7 compatible library for making CRUD API endpoints
统计信息
- 总下载量: 76
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 26
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: proprietary
- 更新时间: 2025-07-18