Compiler l'extension XHP de facebook
Jamais autant parlé de facebook que depuis une semaine. Commence à devenir relou!
XHP est une extension développée par facebook qui augmente la syntaxe de php en permettant d'écrire des fragments html au sein même des scripts. Ca a la couleur de E4X mais le but premier de XHP est de garantir un document correctement formé et respectant un schema défini. On a donc une sorte de mix entre E4X et RELAX NG. Le but est louable.
Ce court billet n'a pas vocation à présenter l'extension. Je vous invite à lire la présentation faite par son auteur ainsi que les pages wiki sur github (là où réside le code source, nous y reviendrons). A voir aussi, un billet de Rasmus Lerdorf qui a effectué des benchmarks. Je vous laisse matter les conclusions.
Pour compiler l'extension, il faut l'artillerie usuelle nécessaire à la modification de la grammaire php: flex, Bison et re2c. RAS pour ça. Le problème c'est que ça ne compilait pas chez moi. Mon php de test est un CLI 5.3.1 en mode debug ainsi qu'en thread safety forcée (--enable-maintainer-zts). Il y a un oubli de TSRMLS_CC dans ext.cpp mais également un problème d'initialisation de globals dans le MINIT. Un fork patché est disponible sur github ici en attendant que le repo officiel prenne en compte les patches.
Est-ce que ça vaut le coup d'utiliser cette extension? C'est une bonne question simon! Avec HipHop peut être bien? En tout cas Marcel Laverdet, l'auteur de l'extension, précise que facebook lite tourne sous HipHop et XHP. Pour facebook lite, cherchez pas, suis pas inscrit.