Das Swoole-Team hat TypePHP als Open Source veröffentlicht, einen Compiler, der PHP-Quellcode in nativen Maschinencode umwandelt. Albert Chen wies auf X darauf hin, dass die Veröffentlichung früher kam als der ursprünglich geplante Oktober-Termin.

TypePHP ist ein Ahead-of-Time-Compiler (AOT). Er übersetzt PHP nach C++ und anschließend in nativen Maschinencode. Das unterscheidet sich von einem Bytecode-Cache oder einer virtuellen Maschine, die Opcodes zur Laufzeit interpretieren. TypePHP erzeugt stattdessen optimierte native Binaries, die direkt auf der CPU ausgeführt werden.

Die Sprache behält die gewohnte PHP-Syntax bei und ergänzt Typinformationen zur Compile-Zeit, sodass der Compiler für Hot Paths schnellen, statisch typisierten C++-Code erzeugen kann. Dynamische PHP-Werte, interne Funktionen, Reflection und Objekt-Metadaten arbeiten weiterhin über PHPX mit der Zend-Runtime zusammen. Kompilierte User-Funktionen werden nicht mehr als Zend-Opcodes ausgeführt.

TypePHP ist vollständig in PHP geschrieben und selbst-hostend: Die tpc-Compiler-Binary entsteht, indem der eigene PHP-Quellcode des Compilers mit TypePHP kompiliert wird. Die Bootstrap-Kette enthält keinen C- oder C++-Kleber im Compiler selbst. Dokumentation gibt es auf der Projektseite unter swoole.com/aot/en.