Узнайте о Flight

Flight — это быстрый, простой и расширяемый фреймворк для PHP. Он довольно универсален и может использоваться для создания любых веб-приложений. Он создан с учётом простоты и написан так, чтобы его было легко понимать и использовать — как людям, так и ИИ-помощникам для программирования.

Примечание: Вы увидите примеры, в которых используется 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 в сравнении с другими фреймворками

Если вы переходите на Flight с другого фреймворка, такого как Laravel, Slim, Fat-Free или Symfony, эта страница поможет вам понять различия между ними.

Другие темы

Модульное тестирование

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

ИИ и опыт разработчика

Flight создан для работы с LLM для написания кода: AGENTS.md, команды Runway ai:* и понятная структура скелета — чтобы агенты придерживались одного паттерна.

Переход с v2 на v3

Обратная совместимость в основном сохранена, но есть некоторые изменения, о которых вам следует знать при переходе с v2 на v3.