XSLT, PHP en mode native ou moteur de template PHP

Eléphanteau du PHP | 31 Messages

01 mai 2011, 00:59

Bonsoir,
J'aimerais avoir votre avis sur ces trois méthodes de séparation entre le PHP et la template.
J'ai déjà utilisé Smarty et PHPLib, mais je me penche maintenant sur l'approche XSLT avec libxslt de PHP.
Est-il intéressant?
À t-il plus d'avenir par rapport aux autres approches ?
Je voudrais aussi connaître la différence (vitesse, la performance, la lisibilité ...) par rapport à la méthode native de PHP et des moteurs (Smarty, Twig ...)
Je vous remercie d'avance :)

ViPHP
ViPHP | 928 Messages

01 mai 2011, 21:08

Salut,
à mon sens ce n'est pas la même approche, car là où PHPLib et Smarty (en ce qui me concerne je n'aime pas du tout Smarty, il réinvente la roue pour pas grand chose) offrent une grande liberté au développeur, le XML / XSLT offre une certaine rigidité. L'avantage étant que c'est carré, et que l'intégrateur qui passera dessus devra respecter les normes XML, l'inconvénient c'est que c'est pas super pratique à prendre en main le XSLT quand même, mais ça offre une certaine souplesse. Enfin après je ne sais pas si tu as déjà fait du XSLT ou pas, l'idéal serait que tu touches un peu au XSLT et à PHPLib par exemple pour te faire ton propre avis. Personnellement le XSLT me sort par les trous de nez, ça devient rapidement un bordel monstre quand on code avec, surtout quand on est accro aux boucles ou autres joyeusetés algorithmiques. Je te conseil de regarder Symphony-CMS qui est basé sur un système de template en XSLT.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

01 mai 2011, 22:56

C'est vrai que j'ai un très mauvais souvenir des boucles en xslt (et de ses variables qui n'en sont pas ! ;)).

L'avantage que j'avais pu en tirer, c'est qu'avec un même flux xml je générais du html, du pdf et du excel :) Et ça permet également de ne pas dépendre de php (le xml pouvant être généré par du java, du .net, ...)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...