Лёгкая независимая от фреймворков PHP-библиотека с практическим набором инструментов для создания предсказуемых и поддерживаемых приложений.
Eleanor PHP Library не диктует архитектуру приложения и не подменяет PHP собственным слоем абстракций. Библиотека предоставляет готовые базовые инструменты и при этом оставляет структуру проекта под контролем разработчика.
Основные принципы
- Без обязательной установки. Библиотеку можно просто скопировать в проект и подключить. Установка через Composer поддерживается, но не является обязательной.
- Независимость от фреймворков. Нет обязательного роутера, контейнера зависимостей, скрытого жизненного цикла приложения или другой инфраструктуры, навязывающей структуру проекта.
- Совместимость с обычным хостингом. Для работы не требуются контейнеры, демоны, привилегированный доступ к серверу или специальная конфигурация окружения.
- Прозрачная архитектура. Библиотека дополняет PHP, а не пытается заменить его собственной моделью разработки. Код остаётся обычным PHP и сохраняет предсказуемое поведение.
- Отложенное создание объектов. Ресурсоёмкие объекты могут инициализироваться только в момент фактической необходимости. Например, соединение с MySQL не создаётся до первого обращения к базе данных.
Встроенные инструменты
- Шаблонизатор. Встроенный механизм формирования HTML без необходимости подключения стороннего template engine.
- Кэширование. Несколько механизмов хранения кэша с единым интерфейсом.
- Работа с MySQL. Собственная обёртка над MySQL с поддержкой подготовленных запросов и других базовых операций.
- Локализация. Встроенные средства для работы с мультиязычными приложениями.
- Структурированное логирование ошибок. Повторяющиеся ошибки группируются, а старые журналы автоматически архивируются.
- Автозагрузка. Классы, интерфейсы, трейты и перечисления могут подключаться автоматически при размещении в соответствующей структуре каталогов.
- Командная строка. В библиотеку входит CLI-класс для вывода и взаимодействия с терминалом.
- TOTP. Встроена реализация одноразовых кодов на основе времени, совместимая с обычными приложениями-аутентификаторами.
Использование
- Минимальная поддерживаемая версия — PHP 8.5.
- Библиотеку можно подключить напрямую или установить через Composer:
composer require sunvas/eleanor-php-library
Примеры использования доступны в отдельном репозитории на GitHub.
Eleanor PHP Library — это набор инструментов, а не фреймворк. Она помогает писать меньше вспомогательного кода, не забирая контроль над приложением.