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