KPHP ist ein PHP-Compiler. Es kompiliert eine begrenzte Teilmenge von PHP zu einer nativen Binärdatei, die schneller als PHP läuft.
KPHP wurde bei VK.com entwickelt und jahrelang proprietär gehalten – bis es Ende 2020 als Open-Source-Lösung verfügbar wurde.
Besuchen Sie die KPHP-Website mit Dokumentation, Demos usw.
KPHP würde nicht einfach irgendeinen beliebigen PHP-Code kompilieren:
Es unterstützt keine Funktionen, die nicht kompiliert werden können, wie z. B. das Aufrufen beim Namen oder Mocks.
Es wird kein Code kompiliert, der das Typsystem durchbricht, beispielsweise durch das Mischen von Zahlen und Objekten in einem Array.
Es verfügt nicht über PHP-Funktionen, die VK.com nie benötigte, wie z. B. SPL-Klassen und XML-Parsing.
Einige PHP-Syntaxdetails wurden einfach nicht implementiert, wie Generatoren und anonyme Klassen.
Lesen Sie hier mehr dazu: Unterschiede zwischen KPHP und PHP.
KPHP analysiert Ihren Code als Ganzes und führt verschiedene Optimierungen mit Schwerpunkt auf Leistung und Sicherheit durch:
Typen aller Variablen ableiten und wie man sie in C++ deklariert.
Optimierungen zur Kompilierungszeit, z. B. Inlining von Gettern oder Reduzierung des Flatterns von Refcountern.
Überprüfungen zur Kompilierungszeit, einschließlich Unveränderlichkeit und Typsystemanforderungen.
Laufzeitoptimierungen, wie das Vorinitiieren konstanter Arrays und typisierte Vektoren.
Darüber hinaus verfügt KPHP über Coroutinen. Derzeit sind sie jedoch außerhalb des VK-Codes nahezu nicht anwendbar.
Wenn Ihr Code den Best Practices entspricht, läuft er im Allgemeinen drei- bis zehnmal schneller als PHP .
Schauen Sie sich die Benchmarks-Seite an, auf der die Leistung von KPHP und PHP verglichen wird.
Sie können sich auch auf PHP vs. KPHP vs. C++ beziehen.
KPHP ist nicht immer schneller als PHP, aber es kann verwendet werden, um Ihren Code zu beschleunigen, indem Sie sich auf strikte Typisierung und in KPHP integrierte Funktionen konzentrieren.
Diese Situation kommt recht häufig vor. KPHP kompiliert selten bereits vorhandenen Code fehlerfrei. Normalerweise dauert es einige Zeit, PHP-Code neu zu schreiben, damit er mit KPHP kompilierbar ist.
Lesen Sie mehr darüber, indem Sie ein bestehendes Projekt zusammenstellen.
KPHP wird unter der GPLv3-Lizenz im Auftrag von VK.com (V Kontakte LLC) vertrieben.
Um mit der KPHP-Community zu kommunizieren, nutzen Sie GitHub Issues oder einen Telegram-Chat.
Sie können auch einen Blick auf unsere FAQ-Seite und die Roadmap-Seite werfen.
Bitte beachten Sie die Seite „Mitwirken“.
Gehen Sie zur Installationsseite und folgen Sie einfach dem linken Menü.