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) робить згенерований код легко перевірюваним тестом.