Дізнайтеся про Flight

Flight — це швидкий, простий, розширюваний фреймворк для PHP. Він доволі універсальний і може використовуватися для створення будь-яких вебзастосунків. Він створений із простотою в основі та написаний так, щоб його було легко зрозуміти й використовувати — як людям, так і AI-помічникам із кодування.

Примітка: Ви побачите приклади, які використовують Flight:: як статичну змінну, а також приклади з об'єктом Engine $app->. Обидва підходи взаємозамінні. $app і $this->app у контролері/мідлварі — це рекомендований підхід команди Flight (і саме його стандартизують офіційний скелет і AGENTS.md для нових проєктів).

Основні компоненти

Маршрутизація

Дізнайтеся, як керувати маршрутами для вашого вебзастосунку. Це також охоплює групування маршрутів, параметри маршрутів і мідлвар.

Мідлвар

Дізнайтеся, як використовувати мідлвар для фільтрації запитів і відповідей у вашому застосунку.

Автозавантаження

Дізнайтеся, як автозавантажувати власні класи. Регістр літер у назвах тек має відповідати вашим неймспейсам — скелет використовує App\ і папки в PascalCase, наприклад app/Controller/.

Запити

Дізнайтеся, як обробляти запити та відповіді у вашому застосунку.

Відповіді

Дізнайтеся, як надсилати відповіді вашим користувачам.

HTML-шаблони

Дізнайтеся, як рендерити HTML за допомогою Twig (типовий для скелета), Latte або інших рушіїв — не лише вбудованих PHP-представлень.

Безпека

Дізнайтеся, як захистити ваш застосунок від поширених загроз безпеки.

Конфігурація

Дізнайтеся, як налаштувати фреймворк для вашого застосунку.

Менеджер подій

Дізнайтеся, як використовувати систему подій для додавання власних подій у ваш застосунок.

Розширення Flight

Дізнайтеся, як розширювати фреймворк, додаючи власні методи та класи.

Хуки методів і фільтрація

Дізнайтеся, як додавати хуки подій до ваших методів і внутрішніх методів фреймворку.

Контейнер впровадження залежностей (DIC)

Дізнайтеся, як використовувати контейнери впровадження залежностей (DIC) для керування залежностями вашого застосунку.

Допоміжні класи

Колекції

Колекції використовуються для зберігання даних і доступу до них як до масиву або об'єкта для зручності.

JSON-обгортка

Це кілька простих функцій, які роблять кодування та декодування JSON узгодженим.

SimplePdo

PDO іноді може створювати більше проблем, ніж потрібно. SimplePdo — це сучасний допоміжний клас для PDO зі зручними методами, такими як insert(), update(), delete() і transaction(), що значно спрощує роботу з базою даних.

PdoWrapper (застарілий)

Оригінальна PDO-обгортка є застарілою, починаючи з v3.18.0. Будь ласка, замість неї використовуйте SimplePdo.

Обробник завантажених файлів

Простий клас, який допомагає керувати завантаженими файлами та переміщувати їх у постійне місце зберігання.

Важливі концепції

Чому фреймворк?

Ось коротка стаття про те, чому варто використовувати фреймворк. Перш ніж почати користуватися фреймворком, варто зрозуміти його переваги.

Крім того, чудовий підручник створив @lubiana. Хоча він не заглиблюється в деталі саме Flight, цей посібник допоможе вам зрозуміти основні концепції, пов'язані з фреймворками, і чому їх варто використовувати. Ви можете знайти підручник тут.

Flight порівняно з іншими фреймворками

Якщо ви переходите з іншого фреймворка, такого як Laravel, Slim, Fat-Free або Symfony, на Flight, ця сторінка допоможе вам зрозуміти відмінності між ними.

Інші теми

Юніт-тестування

Дотримуйтеся цього посібника, щоб навчитися тестувати ваш Flight-код, щоб він був надійним.

AI і досвід розробника

Flight створений для роботи з LLM-помічниками з кодування: AGENTS.md, команди Runway ai:* і чітке розташування скелета, щоб агенти залишалися в межах шаблону.

Міграція v2 -> v3

Зворотну сумісність здебільшого збережено, але є деякі зміни, про які слід знати під час переходу з v2 на v3.