Крутые плагины

Flight невероятно расширяем. Существует множество плагинов, которые можно использовать для добавления функциональности в ваше приложение Flight. Некоторые из них официально поддерживаются командой Flight, а другие — это микро/лайт библиотеки, чтобы помочь вам начать.

Инструменты ИИ

Flight можно сделать еще круче с помощью плагинов на базе ИИ.

  • Flight MCP - Плагин для интеграции MCP (Model Control Protocol) с Flight, обеспечивающий seamless функциональность на базе ИИ. В основном ориентирован на страницы документации, помогает снизить затраты на токены, предоставляя самую актуальную информацию о ваших проектах Flight.

Документация API

Документация API crucial для любого API. Она помогает разработчикам понять, как взаимодействовать с вашим API и чего ожидать в ответ. Доступны несколько инструментов, чтобы помочь вам генерировать документацию API для ваших проектов Flight.

  • FlightPHP OpenAPI Generator - Пост в блоге, написанный Daniel Schreiber, о том, как использовать спецификацию OpenAPI с FlightPHP для построения вашего API с использованием подхода API first.
  • SwaggerUI - Swagger UI — отличный инструмент для генерации документации API для ваших проектов Flight. Его очень легко использовать и можно настроить под ваши нужды. Это PHP-библиотека, которая помогает генерировать документацию Swagger.

Мониторинг производительности приложений (APM)

Мониторинг производительности приложений (APM) crucial для любого приложения. Он помогает понять, как работает ваше приложение и где узкие места. Существует множество инструментов APM, которые можно использовать с Flight.

  • official flightphp/apm - Flight APM — простая библиотека APM, которую можно использовать для мониторинга ваших приложений Flight. Она может использоваться для мониторинга производительности вашего приложения и помощи в выявлении узких мест.

Асинхронность

Flight уже быстрый фреймворк, но добавление турбо-двигателя делает все еще веселее (и сложнее)!

  • flightphp/async - Официальная библиотека Flight Async. Эта библиотека — простой способ добавить асинхронную обработку в ваше приложение. Она использует Swoole/Openswoole под капотом, чтобы предоставить простой и эффективный способ запуска задач асинхронно.

Авторизация/Разрешения

Авторизация и разрешения crucial для любого приложения, которое требует контроля доступа к ресурсам.

  • official flightphp/permissions - Официальная библиотека Flight Permissions. Эта библиотека — простой способ добавить разрешения на уровне пользователя и приложения в ваше приложение.

Аутентификация

Аутентификация essential для приложений, которым нужно проверять идентичность пользователя и защищать конечные точки API.

  • firebase/php-jwt - Библиотека JSON Web Token (JWT) для PHP. Простой и безопасный способ реализовать аутентификацию на основе токенов в ваших приложениях Flight. Идеально для stateless аутентификации API, защиты маршрутов с помощью middleware и реализации потоков авторизации в стиле OAuth.

Кэширование

Кэширование — отличный способ ускорить ваше приложение. Существует множество библиотек кэширования, которые можно использовать с Flight.

  • official flightphp/cache - Легкая, простая и standalone PHP-класс для кэширования в файле

CLI

CLI-приложения — отличный способ взаимодействовать с вашим приложением. Их можно использовать для генерации контроллеров, отображения всех маршрутов и многого другого.

  • official flightphp/runway - Runway — CLI-приложение, которое помогает управлять вашими приложениями Flight.

Куки

Куки — отличный способ хранить небольшие объемы данных на стороне клиента. Их можно использовать для хранения предпочтений пользователя, настроек приложения и т.д.

  • overclokk/cookie - PHP Cookie — PHP-библиотека, которая предоставляет простой и эффективный способ управления куки.

Отладка

Отладка crucial при разработке в локальной среде. Существует несколько плагинов, которые могут улучшить ваш опыт отладки.

  • tracy/tracy - Это полнофункциональный обработчик ошибок, который можно использовать с Flight. У него есть несколько панелей, которые помогут вам отлаживать приложение. Его также очень легко расширять и добавлять свои собственные панели.
  • official flightphp/tracy-extensions - Используется с обработчиком ошибок Tracy, этот плагин добавляет несколько дополнительных панелей для помощи в отладке специально для проектов Flight.

Базы данных

Базы данных — основа большинства приложений. Это способ хранения и извлечения данных. Некоторые библиотеки баз данных — просто обертки для написания запросов, а некоторые — полноценные ORM.

  • official flightphp/core SimplePdo - Официальный помощник Flight PDO, который является частью ядра. Это современная обертка с удобными методами вроде insert(), update(), delete() и transaction(), чтобы упростить операции с базой данных. Все результаты возвращаются как Collections для гибкого доступа к массивам/объектам. Не ORM, просто лучший способ работы с PDO.
  • deprecated flightphp/core PdoWrapper - Официальная обертка Flight PDO, которая является частью ядра (deprecated с версии v3.18.0). Используйте SimplePdo вместо нее.
  • official flightphp/active-record - Официальный ORM/Mapper Flight ActiveRecord. Отличная маленькая библиотека для легкого извлечения и хранения данных в вашей базе данных.
  • byjg/php-migration - Плагин для отслеживания всех изменений в базе данных для вашего проекта.
  • knifelemon/easy-query - Легковесный, fluent построитель SQL-запросов, который генерирует SQL и параметры для подготовленных выражений. Работает отлично с SimplePdo.

Шифрование

Шифрование crucial для любого приложения, которое хранит чувствительные данные. Шифрование и дешифрование данных не так уж сложно, но правильное хранение ключа шифрования может быть сложно. Самое важное — никогда не хранить ключ шифрования в публичной директории или коммитить его в репозиторий кода.

  • defuse/php-encryption - Это библиотека, которую можно использовать для шифрования и дешифрования данных. Запуск довольно прост: начните шифровать и дешифровать данные.

Очередь заданий

Очереди заданий очень полезны для асинхронной обработки задач. Это может быть отправка email, обработка изображений или что-то, что не требует выполнения в реальном времени.

  • n0nag0n/simple-job-queue - Simple Job Queue — библиотека, которую можно использовать для асинхронной обработки заданий. Ее можно использовать с beanstalkd, MySQL/MariaDB, SQLite и PostgreSQL.

Сессии

Сессии не очень полезны для API, но для построения веб-приложения сессии могут быть crucial для поддержания состояния и информации о входе.

  • official flightphp/session - Официальная библиотека Flight Session. Это простая библиотека сессий, которую можно использовать для хранения и извлечения данных сессии. Она использует встроенную обработку сессий PHP.
  • Ghostff/Session - Менеджер сессий PHP (non-blocking, flash, segment, шифрование сессий). Использует PHP open_ssl для опционального шифрования/дешифрования данных сессии.

Шаблонизация

Шаблонизация — основа любого веб-приложения с UI. Существует множество шаблонизаторов, которые можно использовать с Flight.

  • deprecated flightphp/core View - Это очень базовый шаблонизатор, который является частью ядра. Не рекомендуется использовать, если у вас больше нескольких страниц в проекте.
  • latte/latte - Latte — полнофункциональный шаблонизатор, который очень легко использовать и ближе к синтаксису PHP, чем Twig или Smarty. Его также очень легко расширять и добавлять свои фильтры и функции.
  • 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, чтобы добавить его в список!