Lift v1.3.0
Runtime-first · PHP 8.1+ · PSR-7 / PSR-11 / PSR-15

PHP-микрофреймворк
с приоритетом рантайма

Напишите приложение один раз. Запускайте его под php-fpm, RoadRunner, Swoole или FrankenPHP — без единого изменения кода между рантаймами. Явный по своей сути — код, который LLM пишет правильно.

тот же app.php меняется рантайм — не код
php-fpm
$app->run()
RoadRunner
(new RoadRunnerWorker($app))
->serve()
Swoole
(new SwooleServer($app))
->start()
FrankenPHP
(new FrankenPhpWorker($app))
->serve()

PHP остаётся в памяти между запросами — без затрат на bootstrap на каждый запрос · Как это работает →

Восемь строк — рабочий JSON-API

Никаких конфигурационных файлов, никаких сервис-провайдеров, никакого шаблонного кода. Замыкания, классы или invokable — маршрутизатор Lift принимает их все и автоматически преобразует возвращаемые значения в нужный тип ответа.

  • Поиск статических маршрутов за O(1), скомпилированный regex для динамических.
  • Типобезопасное внедрение зависимостей в обработчики и конструкторы.
  • Возвращает массив → JSON, строку → HTML, null → 204. Автоматически.
public/index.php
<?php
require 'vendor/autoload.php';

use Lift\App;
use Lift\Http\Response;

$app = new App();
$app->get('/', fn() => Response::json(['ok' => true]));
$app->run();

Всё включено, но остаётся лёгким

Маршрутизатор

Статический O(1) + откат к regex. Именованные маршруты, группы, regex-ограничения, маршрутизация через атрибуты.

DI-контейнер

Контейнер PSR-11 с полным автосвязыванием через кэш рефлексии. Синглтоны, привязки, фабрики.

Middleware

Конвейер PSR-15. Глобально, погруппово, помаршрутно. Встроенные CORS, rate-limit, CSRF.

JWT + Crypto

JWT HS256/RS256, AES-256-GCM, HMAC, ULID/UUIDv4/v7 — без лишних зависимостей.

Очереди

Драйверы Sync, Redis, AMQP за единым интерфейсом. Воркер с корректным завершением.

База данных

Крошечный построитель запросов, миграции и модель в стиле Active-Record поверх PDO.

JSON-RPC 2.0

Первоклассный сервер JSON-RPC, привязываемый к маршруту одной строкой.

Валидация

Текучие правила, вложенные данные, собственные валидаторы. Исключения валидации авто-возвращают 422.

Тестирование

App::handle($req) возвращает Response — без обращения к глобалям. Тривиально юнит-тестировать.

Рантаймы

Адаптеры-воркеры RoadRunner, Swoole и FrankenPHP — держат PHP в памяти между запросами, без изменений приложения.

Оптимизирован для разработки с помощью ИИ

Код, который LLM пишет правильно с первого раза

С каждым месяцем всё больше серверного кода пишется в паре с ИИ. Те же вещи, что делают Lift читаемым для людей — явное связывание, небольшая поверхность, стандарты PSR — это ровно то, что заставляет модель генерировать код Lift, который компилируется и работает, вместо того чтобы выдумывать несуществующий фасад.

Явность, никакой магии

Никаких фасадов, никаких глобальных помощников, никаких рантайм-макросов. Каждая зависимость — это аргумент конструктора, который модель может увидеть, назвать и типизировать.

Небольшая поверхность API

Один объект App и стандартные интерфейсы PSR. Весь фреймворк помещается в контекст модели — гораздо меньше выдуманных методов.

Стандарты, а не предания

PSR-7 / PSR-11 / PSR-15 широко документированы. Модель переиспользует стандартные знания вместо того, чтобы угадывать соглашения конкретного фреймворка.

Проверяемый результат

$app->handle($request) возвращает Response — без глобалей. Сгенерированный код поставляется с тестом, который можно запустить, чтобы убедиться, что он действительно работает.

Экосистема

Поставляется в коробке

Маршрутизатор (O(1) статический)
DI-контейнер (автосвязывание)
Middleware PSR-15
JWT HS256 / RS256
Шифрование AES-256-GCM
HMAC-подписант
Валидация (авто-422)
Построитель запросов + миграции
Очередь (sync / Redis / AMQP)
Сервер JSON-RPC 2.0
Стриминг SSE
Логгер PSR-3
Адаптер RoadRunner
Адаптер Swoole
Адаптер FrankenPHP
Отладочная панель

Подключите своё

Lift — микрофреймворк, он не тянет с собой ORM, почтовый клиент или каркас аутентификации. Подключайте лучшие в своём классе пакеты или напишите ровно то, что вам нужно.

ORM Doctrine, Cycle, Eloquent, RedBeanPHP
Почта Symfony Mailer, PHPMailer, Postmark SDK
Хранилище Flysystem, AWS SDK, Google Cloud Storage
Поиск Elasticsearch, Meilisearch, Algolia
Auth Firebase JWT, OAuth2 Server, собственный
OpenAPI zircote/swagger-php, cebe/php-openapi
Тесты PHPUnit, Pest — App::handle() работает с обоими
Читать документацию по интеграциям →

Измеримо быстрее альтернатив

Тот же обработчик, тот же PHP, тот же хост. Lift обгоняет Slim 4 примерно на 97 %, оставаясь полностью совместимым с PSR-7/PSR-11/PSR-15 — и держится в пределах 9 % от Flight, который вообще не поставляет PSR-7.

Открыть полный отчёт →
raw-php1.00x
flight0.44x
lift0.38x
slim0.19x

Часто задаваемые вопросы

Что такое Lift PHP?

Lift — это молниеносный PHP-микрофреймворк с поддержкой PSR-7, PSR-11 и PSR-15. Он предлагает маршрутизацию без конфигурации, DI-контейнер с автосвязыванием, middleware и встроенные инструменты для JWT, очередей и работы с базой данных.

Чем Lift отличается от Laravel или Symfony?

Lift — микрофреймворк, сфокусированный на скорости и простоте. В отличие от Laravel или Symfony, у него нет рантайм-зависимостей за пределами PSR, и он спроектирован для быстрого создания REST API и микросервисов без накладных расходов полностековых фреймворков.

Подходит ли Lift для продакшена?

Да. Lift включает готовые к продакшену возможности: middleware (CORS, ограничение частоты, CSRF), аутентификацию JWT, воркеры очередей, миграции базы данных и комплексную обработку ошибок. Он создан с прицелом на производительность и безопасность.

Какая версия PHP нужна для Lift?

Lift требует PHP 8.1 или выше. Он оптимизирован под PHP 8.3+ с включёнными OPcache и JIT для максимальной производительности.

Насколько Lift быстр по сравнению с другими фреймворками?

Бенчмарки показывают, что Lift достигает примерно 38 % пропускной способности чистого PHP на статических маршрутах — около удвоенного числа запросов/с по сравнению со Slim 4 (тоже полностью совместимым с PSR-7) и в пределах ~9 % от Flight, который вообще не поставляет PSR-7. Это обеспечивают поиск статических маршрутов за O(1) и кэш рефлексии.

Хорош ли Lift для разработки с помощью ИИ?

Да. Lift избегает фасадов, глобальных помощников и рантайм-магии — его API явный и небольшой, поэтому ИИ-ассистенты чаще генерируют код Lift, который компилируется и корректно работает. Стандартные интерфейсы PSR-7, PSR-11 и PSR-15 позволяют модели опираться на хорошо документированные контракты вместо соглашений конкретного фреймворка, а App::handle($request) делает сгенерированный код легко проверяемым тестом.