KPHP est un compilateur PHP. Il compile un sous-ensemble limité de PHP en un binaire natif fonctionnant plus rapidement que PHP.
KPHP a été développé sur VK.com et maintenu en tant que propriété pendant des années – jusqu'à ce qu'il soit open source fin 2020.
Visitez le site Web de KPHP avec de la documentation, des démos, etc.
KPHP ne compilerait pas n'importe quel code PHP aléatoire :
Il ne prend pas en charge les fonctionnalités qui ne peuvent pas être compilées, telles que les appels par nom ou les simulations.
Il ne compilera pas de code qui brise le système de types, par exemple en mélangeant des nombres et des objets dans un tableau.
Il ne possède pas de fonctionnalités PHP dont VK.com n'a jamais eu besoin, telles que les classes SPL et l'analyse XML.
Certains détails de la syntaxe PHP n'étaient tout simplement pas implémentés, comme les générateurs et les classes anonymes.
En savoir plus à ce sujet ici : Différences KPHP et PHP.
KPHP analyse votre code dans son ensemble et effectue diverses optimisations axées sur les performances et la sécurité :
Déduire les types de toutes les variables, comment les déclarer en C++.
Optimisations au moment de la compilation, telles que l'intégration de getters ou la réduction du battement des compteurs de référence.
Vérifications au moment de la compilation, y compris l'immuabilité et la configuration système requise.
Optimisations d'exécution, comme le pré-initialisation de tableaux constants et les vecteurs typés.
Mis à part ce qui précède, KPHP a des coroutines. Pour l’instant, cependant, ils sont quasiment inapplicables en dehors du code VK.
Généralement, lorsque votre code correspond aux meilleures pratiques, il s'exécute 3 à 10 fois plus rapidement que PHP .
Jetez un œil à la page des benchmarks comparant les performances de KPHP et PHP.
Vous pouvez également vous référer à PHP vs KPHP vs C++ .
KPHP n'est pas toujours plus rapide que PHP, mais il peut être utilisé pour accélérer votre code en se concentrant sur la saisie stricte et les fonctions intégrées de KPHP.
Cette situation est assez courante. KPHP compile rarement du code déjà existant sans erreurs. La réécriture du code PHP prend généralement un certain temps pour qu'il soit compilable avec KPHP.
En savoir plus à ce sujet en compilant un projet existant.
KPHP est distribué sous licence GPLv3, pour le compte de VK.com (V Kontakte LLC).
Pour communiquer avec la communauté KPHP, utilisez les tickets GitHub ou un chat Telegram.
Vous pouvez également consulter notre page FAQ et notre page Feuille de route.
Veuillez vous référer à la page Contribuer.
Accédez à la page d’installation et suivez simplement le menu de gauche.