GrandFather, je ne remet pas du tout en cause l'utilité d'un système de templates, j'en suis moi même un inconditionel, et parfaitement d'accord sur le fait que c'est indispensable pour travailler proprement dans un style modèle vue controleur (j'aime pas le mot framework, je m'y sent à l'étroit)
J'insiste simplement sur le fait qu'utiliser php comme langage de template me semble plus judicieux qu'un autre pseudo langage, et aussi sur fait que le parseur de PHP se comporte déjà à la manière des templates.
Tous les avantages que tu donnes plus haut se résolvent sans problème en utilisant PHP, il faut juste se faire une base objet pour encadrer tout ça bien évidement, je t'invite à regarder sérieusement le fonctionnement de Savant, qui de façon simple, n'a rien a envier à Smarty, tu y retrouvera tous les avantages que tu donnais plus haut (cadriciel, plugins, filtres...), sauf qu'ici le langage de template est php. La lecture de son code est d'ailleurs déconcertante de simplicité et instructive.
Concernant l'abrévation du code, comme le souligne naholyr c'est effectivement le seul avantage que l'on pourait trouver avec un système de template à code auto généré, mais je le trouve bien maigre. Concernant les filtres pipés, on pourrait très bien arriver à quelquechose sensiblement similaire en php :
<?php $this->_o($exercice,'escape_xml_entities','capitalize', ...) ?>
Et l'on évite donc le l'enfert LISP
[instant poilu]Tu fais beaucoup de XML, tu devrais aimer ce qui est lourd et verbeux non ? je rigole hein [/instant poilu]
Et sinon, juste un p'tit truc par rapport à l'exemple de code que tu donnes : PHP admet pour les boucles et conditions une syntaxe alternative : if: .... endif; foreach:....endforeach; ce qui est plus sympas dans un template que les accolades difficilement lisibles (on dirait d'ailleurs que cette syntaxe a été spécialement prévue pour les templates).
Un nouvel avantage venu avec la sortie de php5 et de sa spl est la surcharge du foreach permetant de faire des bouclages simplement et de manière adaptée à la structure à représenter, je trouve ça idéal pour les templates.
Partager