Чудові плагіни

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 — допис у блозі Деніела Шрайбера про те, як використовувати специфікацію OpenAPI разом із FlightPHP для створення вашого API за підходом «API first».
  • SwaggerUI — Swagger UI — чудовий інструмент, який допомагає генерувати документацію API для ваших проєктів Flight. Він дуже простий у використанні та може бути налаштований відповідно до ваших потреб. Це PHP-бібліотека, яка допомагає генерувати документацію Swagger.

Моніторинг продуктивності застосунків (APM)

Моніторинг продуктивності застосунків (Application Performance Monitoring, APM) є критично важливим для будь-якого застосунку. Він допомагає зрозуміти, як працює ваш застосунок і де знаходяться вузькі місця. Існує низка APM-інструментів, які можна використовувати з Flight.

  • офіційний flightphp/apm — Flight APM — це проста APM-бібліотека, яку можна використовувати для моніторингу ваших застосунків Flight. Вона допомагає відстежувати продуктивність вашого застосунку та виявляти вузькі місця.

Async

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.

Куки

Куки — чудовий спосіб зберігати невеликі шматочки даних на стороні клієнта. Їх можна використовувати для збереження вподобань користувача, налаштувань застосунку тощо.

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

Налагодження

Налагодження є критично важливим під час розробки у вашому локальному середовищі. Існує кілька плагінів, які можуть покращити ваш досвід налагодження.

  • 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/мапер. Чудова невелика бібліотека для легкого отримання та збереження даних у вашій базі даних.
  • byjg/php-migration — плагін для відстеження всіх змін у базі даних вашого проєкту.
  • knifelemon/easy-query — легковажний, плавний (fluent) будівельник SQL-запитів, який генерує SQL і параметри для підготовлених запитів. Чудово працює з SimplePdo.

Шифрування

Шифрування є критично важливим для будь-якого застосунку, який зберігає чутливі дані. Шифрувати та дешифрувати дані не надто складно, але правильно зберігати ключ шифрування може бути складно. Найважливіше — ніколи не зберігайте ключ шифрування в загальнодоступному каталозі та не комітьте його у свій репозиторій коду.

  • defuse/php-encryption — це бібліотека, яку можна використовувати для шифрування та дешифрування даних. Налаштування та запуск досить прості, щоб почати шифрувати й дешифрувати дані.

Електронна пошта

Надсилання електронних листів — основна потреба для більшості вебзастосунків: вітальні листи, скидання паролів, сповіщення. Ці бібліотеки роблять цей процес безболісним, зберігаючи надійну доставку.

  • ryanstubbs/flightmail — FlightMail обгортає Symfony Mailer у плавний (fluent) API, зручний для Flight. Надсилайте через 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-менеджер сесій (неблокуючий, flash, сегменти, шифрування сесій). Використовує PHP open_ssl для необов’язкового шифрування/дешифрування даних сесії.

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

Шаблонізація є основою будь-якого вебзастосунку з інтерфейсом користувача. Існує низка шаблонізаторів, які можна використовувати з Flight.

  • застарілий flightphp/core View — це дуже простий шаблонізатор, який є частиною ядра. Його не рекомендується використовувати, якщо у вашому проєкті більше ніж кілька сторінок.
  • latte/latte — Latte — це повнофункціональний шаблонізатор, який дуже простий у використанні, а його синтаксис ближчий до PHP, ніж у Twig або Smarty. Його також дуже легко розширювати та додавати власні фільтри й функції.
  • twig/twig — Twig — це гнучкий, швидкий і безпечний шаблонізатор (той самий, що використовується у Symfony). Його добре знають AI-інструменти та багато 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, щоб додати його до списку!