Flight PHP Framework

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

Почему стоит выбрать Flight?

  • Дружелюбен к новичкам: Flight — отличная отправная точка для начинающих PHP-разработчиков. Его понятная структура и простой синтаксис помогают изучать веб-разработку без запутанных шаблонов.
  • Любим профи: Опытные разработчики ценят Flight за гибкость и контроль. Вы можете масштабировать проект от крошечного прототипа до полноценного приложения, не меняя фреймворк.
  • Обратная совместимость: Мы ценим ваше время. Flight v3 — это эволюция v2 с сохранением практически всего API. Мы верим в эволюцию, а не революцию — никаких «разрушений мира» при выходе новых версий.
  • Ноль зависимостей: Ядро Flight полностью свободно от зависимостей — без полифилов, внешних пакетов и даже PSR-интерфейсов. Это означает меньше векторов атак, меньший размер и отсутствие неожиданных изменений из-за обновлений зависимостей. Опциональные плагины могут иметь зависимости, но ядро всегда остаётся лёгким и безопасным.
  • Дружелюбен к AI: Небольшая поверхность API и официальный скелет (одна разметка, AGENTS.md, внедрение через конструктор) упрощают работу AI-инструментов. Один и тот же код — пишете ли вы вручную или работаете с агентом. Подробнее об использовании AI с Flight.

Обзор в видео

Достаточно просто, правда?

Узнайте больше о Flight в документации!

Быстрый старт

Для быстрой минимальной установки используйте Composer:

composer require flightphp/core

Или скачайте zip-архив репозитория здесь. После этого у вас будет базовый файл index.php:

<?php

// если установлено через composer
require 'vendor/autoload.php';
// или если установлено вручную через zip-архив
// require 'flight/Flight.php';

Flight::route('/', function() {
  echo 'hello world!';
});

Flight::route('/json', function() {
  Flight::json([
    'hello' => 'world'
  ]);
});

Flight::start();

Вот и всё! У вас есть базовое приложение на Flight. Теперь можно запустить файл командой php -S localhost:8000 и открыть http://localhost:8000 в браузере, чтобы увидеть результат.

Короткие примеры с Flight:: удобны для обучения и микроприложений. Для полноценной структуры проекта, удобной как человеку, так и AI-инструментам, используйте скелет ниже.

Скелет/Boilerplate-приложение

Есть официальный стартовый шаблон, который поможет начать любой новый проект на Flight. Он сразу задаёт структуру, конфигурацию, Composer-скрипты и инструкции для AI.

Ознакомьтесь с flightphp/skeleton, чтобы получить готовый проект, или посетите страницу примеров для вдохновения. Хотите узнать о AI-подходе? Изучите AI и опыт разработчика.

Что вы получите (основное):

  • Пространства имён App\ с папками в PascalCase (app/Controller/, app/Middleware/, app/Model/, …) — регистр папок должен совпадать с пространством имён (см. Автозагрузка)
  • Внедрение через Dice + Engine — контроллеры остаются тестируемыми (предпочтительно использовать $this->app, а не Flight:: в коде приложения)
  • Шаблоны Twig, SimplePdo + пример ActiveRecord, Runway migrate
  • Корневой AGENTS.md (и локальные копии) и SECURITY.md для ассистентов и политики безопасности

Установка скелета приложения

Всё очень просто!

# Создаём новый проект
composer create-project flightphp/skeleton my-project/
# Переходим в каталог нового проекта
cd my-project/
# Запускаем локальный сервер разработки
composer start

Скрипт создаст структуру проекта, скопирует config_sample.phpconfig.php.env.example.env, если присутствует), и вы готовы к работе. Опциональные тестовые данные:

php runway migrate
# затем откройте /posts и /api/posts

Высокая производительность

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

Смотрите сравнение ниже с другими популярными PHP-фреймворками.

Фреймворк Обычные запросы/сек JSON запросы/сек
Flight 190,421 182,491
Yii 145,749 131,434
Fat-Free 139,238 133,952
Slim 89,588 87,348
Phalcon 95,911 87,675
Symfony 65,053 63,237
Lumen 40,572 39,700
Laravel 26,657 26,901
CodeIgniter 20,628 19,901

Flight и AI

Хотите узнать, как Flight работает с LLM? Узнайте, как AGENTS.md, команды Runway ai:* и структура скелета помогают ассистентам оставаться «в рельсах».

Стабильность и обратная совместимость

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

Мы стремимся сохранять Flight стабильным, чтобы вы могли сосредоточиться на создании приложения, а не на исправлении фреймворка. Скелет может быть более «мнениеориентированным» для новых проектов; основные API остаются привычными для всех остальных.

Сообщество

Мы на Matrix Chat

Matrix

И Discord

Участие в разработке

Есть два способа внести свой вклад в Flight:

  1. Участвовать в разработке ядра фреймворка, посетив репозиторий ядра.
  2. Помочь улучшить документацию! Этот сайт документации размещён на Github. Если вы заметили ошибку или хотите что-то улучшить, отправляйте pull request. Мы ценим обновления и новые идеи — особенно связанные с AI и новыми технологиями!

Требования

Flight требует PHP 7.4 или выше.

Примечание: PHP 7.4 поддерживается, поскольку на момент написания (2024) PHP 7.4 — это версия по умолчанию для некоторых LTS-дистрибутивов Linux. Принудительный переход на PHP >8 мог бы вызвать проблемы у пользователей. Фреймворк также поддерживает PHP >8.

Лицензия

Flight распространяется под лицензией MIT.