flexis-labs / flexis
The Flexis PHP framework
Requires
- ext-curl: *
- ext-gd: *
- ext-iconv: *
- ext-mbstring: *
- ext-pdo: *
- ext-simplexml: *
- ext-zip: *
- ext-zlib: *
- algo26-matthias/idna-convert: ^4.0
- composer/ca-bundle: ^1.5
- defuse/php-encryption: ^2.4
- doctrine/inflector: ^2.0
- laminas/laminas-diactoros: ^3.5
- opis/closure: ^3.6
- paragonie/sodium_compat: ^2.1
- psr/container: ^2.0
- psr/http-client: ^1.0
- psr/http-message: ^2.0
- psr/log: ^3.0
- symfony/console: ^7.1
- symfony/error-handler: ^7.1
- symfony/yaml: ^7.1
Requires (Dev)
- ext-mysqli: *
- ext-sqlsrv: *
README
Flexis — это веб-фреймворк с лаконичным и интуитивно понятным синтаксисом, который облегчает создание современных приложений. Он предлагает надёжную основу и удобные инструменты для старта, позволяя разработчикам сконцентрироваться на реализации уникальных особенностей своих проектов.
- Безопасная обработка пользовательских запросов. Flexis обеспечивает защиту от уязвимостей, связанных с данными из
REQUEST
,GET
,POST
,FILES
,SERVER
иENV
. Это достигается благодаря встроенным инструментам для фильтрации, валидации и обработки данных, что сводит к минимуму риск SQL-инъекций, XSS-атак и других угроз. - Модульная архитектура. Легкость подключения и управления компонентами.
- Эффективное внедрение зависимостей. Встроенный контейнер обеспечивает гибкость и упрощает тестирование.
Flexis Dependency Inversion (SOLID 5)
Dependency Inversion, как один из ключевых принципов SOLID, активно используется в Flexis. Благодаря этому достигается:
- Лёгкость масштабирования: внедрение зависимостей позволяет легко подменять реализации интерфейсов, добавлять новые модули или расширять функциональность без необходимости изменения существующего кода.
- Простота тестирования: абстрагирование зависимостей упрощает создание юнит-тестов и имитацию сложных зависимостей.
- Уменьшение связности: компоненты системы взаимодействуют через интерфейсы, что упрощает их повторное использование в других проектах.
- Гибкость разработки: возможность на лету изменять реализацию сервисов (например, заменять локальную обработку очередей на облачные сервисы).
Драйвер (MySQL, PostgreSQL, SQLite, SQL Server)
Flexis поддерживает множество популярных систем управления базами данных, что позволяет использовать наиболее подходящую СУБД для каждого проекта.
Фреймворк автоматически адаптируется под выбранную СУБД, предлагая удобный унифицированный синтаксис. Это позволяет:
- Легко переносить приложения между различными базами данных.
- Выбирать СУБД в зависимости от потребностей проекта и доступных ресурсов.
- Оптимизировать производительность и масштабируемость.
Встроенный мониторинг запросов к базе данных, позволяет:
- Отслеживать производительность запросов в реальном времени.
- Анализировать сложные запросы и находить узкие места.
- Получать подробную информацию о времени выполнения, используемых индексах и количестве строк, обработанных запросами.
- Удобно визуализировать данные через интегрированные инструменты отчётности.
Диспетчер событий Flexis
Flexis предлагает мощный диспетчер событий, который не только упрощает управление внутренними процессами приложения, но и предоставляет инструменты для профилирования выполняемого PHP-скрипта.
- Гибкость архитектуры: диспетчер позволяет связывать различные компоненты приложения через события, минимизируя их взаимозависимость.
- Профилирование кода: встроенные возможности диспетчера дают детальную информацию о том, какие события были вызваны, сколько времени потребовалось на их обработку и какие ресурсы использовались.
- Оптимизация производительности: анализ временных меток и данных профилирования помогает выявлять узкие места в коде и оптимизировать работу приложения.
- Прозрачность процессов: возможность записывать и анализировать жизненный цикл событий, от их регистрации до выполнения.
- Расширяемость: поддержка пользовательских событий и возможность интеграции с внешними инструментами для мониторинга и логирования.
Документация
- Архивы
- CLI консоль
- База данных
- DIP контейнер
- Диспетчер событий
- Файловая система
- Фильтр текста
$_GET
,$_POST
,$_SERVER
$_FILE
и$_COOKIE
- Микроразметка
- Профайлер
- Прокси
- Реестр данных
- Обработка изображений
- Управление сессией
- Разбор url-адреса
- Маршрутизатор