https://mp.weixin.qq.com/s/eGrSd2g-88I4jm6KIdecSw
Пока дженерики не проходят голосование, у нас продолжение истории про Swoole-компилятор (писал раньше). Теперь они официально переименовали Swoole AOT в TypePHP.
В целом вскользь об этом писали уже в прошлый раз, но теперь прямо говорят – отдельный строго типизированный компилируемый язык.
Бету обещают к октябрю 2026 и тогда же выложат исходники – все верно, проект уходит в опенсорс. Строго говоря опенсорс не значит бесплатно, но я так понимаю, это подразумевается.
Как устроено
Синтаксис совместим с PHP, но компилируется в нативный машинный код, а не в опкоды ZendVM.
При этом сам ZendVM они как рантайм тоже внутри оставили. Статически скомпилированный код может в рантайме подгружать обычные .php через
require/include. Ну и все Composer пакеты и автозагрузка и расширения (curl, PDO, mysqli, Swoole) – все должно работать.Что еще прикольного
- Нативные Decimal, BigInt, BigFloat.
То есть
0.1 + 0.2 дает ровно 0.3, без потери точности. - Типизированные контейнеры в дополнение к универсальным массивам:
std::vector, std::map, std::unordered_map с заданными типами ключей и значений.- Uniform function call syntax (UFCS) + extension-методы
Любую функцию можно дернуть как метод на любом типе! – Чтооооо?! Так можно было??
$a = 2;
echo $a->pow(80)->toString()->length();
$b = "hello world!";
$b->split(' ')->contains("world");
Но ☝️
Чем дальше, тем меньше это PHP. Подобное уже проходили: Facebook сделал "быстрый PHP" → получился Hack → отдельный язык → экосистема разделилась → вы сейчас тут.
В любом случае движуха хорошая, особенно если реально откроют код под MIT-подобной лицензией. Посмотрим в октябре.