Лёгкая независимая от фреймворков 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 — это набор инструментов, а не фреймворк. Она помогает писать меньше вспомогательного кода, не забирая контроль над приложением.