Подробная инструкция
Проект на GitHub
Название | GitHub | Скачать |
HLEB | phphleb/hleb | .ZIP |
Engine for HLEB | phphleb/framework | .ZIP |
Debug Panel | phphleb/debugpan | .ZIP |
Radjax router | phphleb/radjax | .ZIP |
XD ORM | phphleb/xdorm | .ZIP |
Admin Panel | phphleb/adminpan | .ZIP |
Simple Mailer | phphleb/muller | .ZIP |
Tests from HLEB | phphleb/tests | .ZIP |
Universal captcha | phphleb/ucaptcha | .ZIP |
Registration module | phphleb/hlogin | .ZIP |
DI (Draft Instances) | phphleb/draft | .ZIP |
Mutexes | phphleb/conductor | .ZIP |
Creating an API | phphleb/api-multitool | .ZIP |
Migrations | phphleb/migration | .ZIP |
Module installer | phphleb/combinator | .ZIP |
Основные принципы фреймворка HLEB
Эффективность - основная цель, которая преследуется при разработке фреймворка.
Возможности микрофреймворка HLEB
- Поддерживает версии PHP 7 и 8.
- Оригинальный маршрутизатор (достаточно гибкий).
- Защита пользовательских запросов.
- Группировка маршрутов.
- Работа с доменами и поддоменами.
- Подключаемый модуль регистрации пользователей.
- Механизм для выполнения фоновых задач.
- Пользовательские консольные команды.
- Логирование (и подключаемая ротация логов).
- Шаблоны (в том числе кешируемые).
- Возможность подключения шаблонизатора Twig.
- Единый конфигурационный файл (не считая для базы данных).
- Настраиваемая панель отладки (можно выводить свои данные).
- Конструктор страниц (опционально).
- Стандартизированная структурная основа для Веб-приложения.
- Разработку можно вести в раздельном MVC-стиле.
- Модульная разработка по желанию (HMVC).
- Возможность создать несколько точек входа.
- Обработчик данных для запросов.
- Механизм мьютексов.
- Собственные миграции БД.
- Инструменты для создания API.
- Собственный автозагрузчик классов (можно изменить).
Сравнение быстродействия микрофреймворков
Традиционно сделан тест фреймворков на толщину минимальной "прослойки" между получением запроса и выводом его на странице.
Использованы фреймворки: Lumen 8.1.1, Slim 4.8.1 и HLEB (1.5.65). Для всех тестов использовался один и то же бэкграунд, а также PHP 7.3. Данные усреднены от 20 замеров подряд.
Во всех тестах - чем меньше значение, тем лучше.
1) У каждого микрофреймворка создан один маршрут, один контроллер и контент для отдачи в виде текстовой строчки. В итоге:
Lumen | 0.036 | сек | |
Slim | 0.023 | сек | |
HLEB | 0.011 | сек |
2) Пиковое потребление памяти:
Lumen | 1.03 | МБ | |
Slim | 0.63 | МБ | |
HLEB | 0.52 | МБ |
Исходный код, используемый для сравнения: github.com/phphleb/php-framework-benchmarks.