Go est un langage "compatible C" : on peut appeler du code C depuis Go, et du code Go depuis C. PHP, lui, est écrit en C.

Théoriquement, on pourrait donc embarquer PHP directement dans un programme écrit en Go, au hasard, dans un serveur web.

Est-ce possible ? C'est ce que nous découvrirons au cours de ce talk : nous plongerons dans les entrailles de PHP pour comprendre comment l'interpréteur fonctionne, et comment on peut l'interfacer avec un serveur web. Nous découvrirons ensuite certaines caractéristiques typiques de Go telles que les Goroutines et son serveur HTTP natif, et comment on peut en tirer partie pour améliorer les performances de nos applications PHP.

Nous verrons ensuite que ce syncrétisme, qui peut sembler loufoque au premier abord, offre des opportunités inédites :

simplifier vos déploiements en embarquant directement un serveur web, l'interpréteur PHP et votre code source dans un seul binaire
conserver les services des applications Symfony ou Laravel chargés dans la mémoire du serveur web, et s'en servir pour traiter plusieurs requêtes HTTP
écrire des fonctions en Go (ou en C, voir même en assembleur) et les appeler directement depuis le code PHP

Comments

Please login to leave a comment