Aller au contenu
AFUP AFUP Day 2025 Baromètre Planète PHP PUFA
 

Le Prométhée moderne : embarquer PHP dans Go

Description

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
Conférence donnée lors du AFUP Day 2022 Lille, ayant eu lieu le 20 mai 2022.

Le speaker

Kévin DUNGLAS

Kévin est le créateur du framework API Platform ainsi que des projets Mercure et Vulcain. Il est également membre de la Core Team Symfony et a cofondé la société autogérée Les-Tilleuls.coop.