Отличные плагины

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, чтобы добавить его в список!