Отличные плагины
Flight невероятно расширяем. Есть множество плагинов, которые можно использовать, чтобы добавить функциональность вашему приложению Flight. Некоторые официально поддерживаются командой Flight, а другие — это микро/лёгкие библиотеки, помогающие начать работу.
Инструменты ИИ
Flight можно сделать ещё круче с помощью плагинов с поддержкой ИИ.
- Flight MCP — плагин для интеграции MCP (Model Control Protocol) с Flight, обеспечивающий бесшовную функциональность с поддержкой ИИ. В основном ориентирован на страницы документации; помогает снижать затраты на токены, предоставляя самую актуальную информацию о ваших проектах Flight.
- stribus/mcp-flightphp-server-skeleton — скелет MCP-сервера FlightPHP с HTTP и stdio, а также автообнаружением инструментов, промптов и ресурсов.
Документация API
Документация API критически важна для любого API. Она помогает разработчикам понять, как взаимодействовать с вашим API и чего ожидать в ответ. Есть несколько инструментов, которые помогут вам генерировать документацию API для ваших проектов Flight.
- FlightPHP OpenAPI Generator — пост в блоге, написанный Daniel Schreiber о том, как использовать спецификацию OpenAPI с FlightPHP, чтобы построить ваш API с использованием подхода API-first.
- SwaggerUI — Swagger UI — отличный инструмент, который помогает генерировать документацию API для ваших проектов Flight. Он очень прост в использовании и может быть настроен под ваши нужды. Это PHP-библиотека, помогающая генерировать документацию Swagger.
Мониторинг производительности приложений (APM)
Мониторинг производительности приложений (APM) критически важен для любого приложения. Он помогает понять, как работает ваше приложение и где находятся узкие места. Есть ряд инструментов APM, которые можно использовать с Flight.
- официальный flightphp/apm — Flight APM — это простая библиотека APM, которую можно использовать для мониторинга ваших приложений Flight. Она может использоваться для мониторинга производительности вашего приложения и помогает выявлять узкие места.
Асинхронность
Flight уже быстрый фреймворк, но если прикрутить к нему турбодвигатель, всё становится гораздо веселее (и сложнее)!
- flightphp/async — официальная библиотека Flight Async. Эта библиотека — простой способ добавить асинхронную обработку в ваше приложение. Под капотом она использует Swoole/Openswoole, чтобы обеспечить простой и эффективный способ асинхронного выполнения задач.
Авторизация/разрешения
Авторизация и разрешения критически важны для любого приложения, где нужен контроль доступа к ресурсам.
- официальный flightphp/permissions — официальная библиотека Flight Permissions. Эта библиотека — простой способ добавить разрешения на уровне пользователя и приложения в ваше приложение.
Аутентификация
Аутентификация необходима для приложений, которым нужно проверять личность пользователя и защищать конечные точки API.
- firebase/php-jwt — библиотека JSON Web Token (JWT) для PHP. Простой и безопасный способ реализовать аутентификацию на основе токенов в ваших приложениях Flight. Идеально подходит для аутентификации API без сохранения состояния, защиты маршрутов с помощью middleware и реализации потоков авторизации в стиле OAuth.
Кэширование
Кэширование — отличный способ ускорить приложение. Есть ряд библиотек кэширования, которые можно использовать с Flight.
- официальный flightphp/cache — лёгкий, простой и автономный PHP-класс файлового кэширования
CLI
CLI-приложения — отличный способ взаимодействия с вашим приложением. С их помощью можно генерировать контроллеры, отображать все маршруты и многое другое.
- официальный flightphp/runway — Runway — это CLI-приложение, которое помогает управлять вашими приложениями Flight.
Cookies
Cookies — отличный способ хранить небольшие объёмы данных на стороне клиента. Их можно использовать для хранения пользовательских предпочтений, настроек приложения и многого другого.
- overclokk/cookie — PHP Cookie — это PHP-библиотека, предоставляющая простой и эффективный способ управления cookies.
Отладка
Отладка критически важна при разработке в локальной среде. Есть несколько плагинов, которые могут улучшить ваш опыт отладки.
- tracy/tracy — это полнофункциональный обработчик ошибок, который можно использовать с Flight. У него есть ряд панелей, помогающих отлаживать приложение. Его также очень легко расширять и добавлять собственные панели.
- официальный flightphp/tracy-extensions — используется с обработчиком ошибок Tracy; этот плагин добавляет несколько дополнительных панелей для отладки специально для проектов Flight.
Базы данных
Базы данных — основа большинства приложений. Именно так вы храните и извлекаете данные. Некоторые библиотеки баз данных — просто обёртки для написания запросов, а некоторые — полноценные ORM.
- официальный flightphp/core SimplePdo — официальный помощник Flight PDO, входящий в ядро. Это современная обёртка с удобными вспомогательными методами, такими как
insert(),update(),delete()иtransaction(), для упрощения операций с базой данных. Все результаты возвращаются как Collections для гибкого доступа в виде массива/объекта. Это не ORM, а просто лучший способ работы с PDO. - устарело flightphp/core PdoWrapper — официальная обёртка Flight PDO, входящая в ядро (устарела начиная с v3.18.0). Используйте SimplePdo вместо неё.
- официальный flightphp/active-record — официальный Flight ActiveRecord ORM/Mapper. Отличная небольшая библиотека для лёгкого извлечения и сохранения данных в вашей базе данных.
- byjg/php-migration — плагин для отслеживания всех изменений базы данных вашего проекта.
- knifelemon/easy-query — лёгкий текучий построитель SQL-запросов, который генерирует SQL и параметры для подготовленных выражений. Отлично работает с SimplePdo.
Шифрование
Шифрование критически важно для любого приложения, которое хранит конфиденциальные данные. Шифровать и расшифровывать данные не так уж сложно, но правильно хранить ключ шифрования может быть сложно. Самое важное — никогда не хранить ключ шифрования в публичном каталоге и не коммитить его в репозиторий кода.
- defuse/php-encryption — это библиотека, которую можно использовать для шифрования и расшифровки данных. Начать работу и приступить к шифрованию и расшифровке данных довольно просто.
Электронная почта
Отправка электронной почты — основная потребность большинства веб-приложений: приветственные сообщения, сброс пароля, уведомления. Эти библиотеки делают это безболезненно, сохраняя надёжную доставляемость.
- ryanstubbs/flightmail — FlightMail оборачивает Symfony Mailer в удобный для Flight fluent API. Отправляйте через SMTP или любого крупного провайдера с помощью простых DSN-строк, маршрутизируйте разных провайдеров для каждого сообщения и рендерьте тела писем с помощью шаблонов Twig или Latte. Это неофициальный плагин для Flight, и он не поддерживается командой Flight.
Очередь заданий
Очереди заданий очень полезны для асинхронной обработки задач. Это может быть отправка электронных писем, обработка изображений или что угодно, что не нужно выполнять в реальном времени.
- n0nag0n/simple-job-queue — Simple Job Queue — это библиотека, которую можно использовать для асинхронной обработки заданий. Она может использоваться с beanstalkd, MySQL/MariaDB, SQLite и PostgreSQL.
Сессия
Сессии не очень полезны для API, но при создании веб-приложения сессии могут быть критически важны для поддержания состояния и информации для входа.
- официальный flightphp/session — официальная библиотека Flight Session. Это простая библиотека сессий, которую можно использовать для хранения и извлечения данных сессии. Она использует встроенную обработку сессий PHP.
- Ghostff/Session — PHP Session Manager (неблокирующий, flash, сегменты, шифрование сессий). Использует PHP open_ssl для опционального шифрования/расшифровки данных сессии.
Шаблонизация
Шаблонизация — основа любого веб-приложения с интерфейсом. Есть ряд шаблонизаторов, которые можно использовать с Flight.
- устарело flightphp/core View — это очень базовый шаблонизатор, входящий в ядро. Его не рекомендуется использовать, если в вашем проекте больше пары страниц.
- latte/latte — Latte — это полнофункциональный шаблонизатор, очень простой в использовании и более близкий к синтаксису PHP, чем Twig или Smarty. Его также очень легко расширять и добавлять собственные фильтры и функции.
- twig/twig — Twig — это гибкий, быстрый и безопасный шаблонизатор (тот же, что используется в Symfony). Инструменты ИИ и многие PHP-разработчики хорошо его знают; по умолчанию он автоматически экранирует вывод и имеет огромную экосистему расширений.
- knifelemon/comment-template — CommentTemplate — это мощный шаблонизатор PHP с компиляцией ресурсов, наследованием шаблонов и обработкой переменных. Возможности: автоматическая минификация CSS/JS, кэширование, кодирование Base64 и опциональная интеграция с фреймворком Flight PHP.
Интеграция с WordPress
Хотите использовать Flight в вашем проекте WordPress? Для этого есть удобный плагин!
- n0nag0n/wordpress-integration-for-flight-framework — этот плагин WordPress позволяет запускать Flight прямо вместе с WordPress. Он идеально подходит для добавления пользовательских API, микросервисов или даже полноценных приложений на ваш сайт WordPress с использованием фреймворка Flight. Очень полезно, если вы хотите лучшее из обоих миров!
Участие в разработке
Есть плагин, которым хотите поделиться? Отправьте pull request, чтобы добавить его в список!