Mago: A fast PHP toolchain written in Rust
Mago — набор инструментов для PHP, помогающий писать чище и быстрее.
Анализ кода, форматирование, линтинг и прочие утилиты в одном месте.
Комментарии (59)
- Mago — это новый набор PHP-инструментов (форматтер, линтер, LSP) на Rust, но пока в бета-статусе: не парсит PHPDoc, не понимает встроенные классы без
\, выдаёт тысячи ложных ошибок. - Автор признал README обманчивым и обещает уточнить roadmap и неготовые фичи (магические @method/@property, type-инференд).
- Пользователи сравнивают проект с uv/ruff для PHP, но сомневаются в необходимости: у PHP уже есть Composer, PHPStan, Psalm, которые развиваются быстрее и без разрыва экосистемы.
- Основной аргумент «на Rust» воспринимается слабо: сообщество не видит, почему переписывать инструменты на другом языке, если нет денег и людей (в отличие от Sorbet/tsgo, у которых спонсоры).
- PHP Foundation и крупные проекты (WordPress, Laravel, Википедия) деньги имеют, но пока никто из них Mago не финансирует.
The Rise of Hybrid PHP: Blending PHP with Go and Rust
Гибридный PHP: PHP + Go и Rust
Раньше у нас был монолит на PHP 8.3 («мама») и несколько микросервисов на Go («дети»). Такой стек давал скорость там, где нужно, и скорость разработки везде остальном.
По правилу 80/20 20 % эндпоинтов приносят 80 % нагрузки. Раньше мы выносили их в Go-сервисы, но это усложняло инфраструктуру. Теперь можно оставить логику в монолите и всё равно получить высокую производительность.
Новые инструменты
- FFI – вызов C-кода прямо из PHP.
- Расширения на Rust – безопасный и быстрый код без C.
- FrankenPHP – worker-режим до 4× быстрее; теперь можно писать расширения на Go и вызывать их из PHP.
Зачем не переписать всё на Go или Rust?
- Переписывание дорого и рискованно.
- PHP отлично справляется с 80 % задач, а критичные 20 % можно ускорить расширениями на Rust/Go.
Итог: современный PHP даёт и скорость разработки, и максимальную производительность там, где это критично.
Комментарии (88)
- Участники жалуются, что монолитные фреймворки (Spring, Laravel, Phoenix) быстро дают результат, но превращают legacy-код в кошмар при обновлении зависимостей.
- Обсуждают гибридные схемы «PHP + Rust/Go/C», но предупреждают о росте сложности отладки и найма.
- Некоторые считают современный PHP (≥8.x) недооценённым и упрекают индустрию в стереотипах 5.x-времён.
- Упоминаются альтернативные рантаймы (FrankenPHP, RoadRunner, Workerman) и эксперименты с встраиванием PHP в nginx.
- Пакетный менеджер Composer критикуется как «не тот уровень», ждут «Astral для PHP».