Mes templates sont en PHP; ça peut rester lisible !
>>> "* faciliter l'écriture. par exemple, remplacer les "<?php echo $variable?>" par une syntaxe plus simple comme {$variable}"
<?=$variable?> marche bien en php, avec l'option "short_open_tag = On".
Et du coup ça permet des transformations rapides, genre <?=ucword($nom)?> .
>>> * "sans toutefois ne pas avoir à reinventer totalement un langage, c'est pourquoi les expressions utilisées sont en php. ex: {$variable.$objet->propriete} qui est équivalent à...<?php echo $variable.$objet->propriete?> tout simplement :-)"
Entre <?= $variable . $objet->propriete ?>
et {$variable.$objet->propriete}, le gain de lisibilité est limité non ?
>>> "il y a des tags typiques comme {foreach}, {for}, {if} et cie, fonctionnant comme en php.</cite>"
Souvent je fais:
<h1><?=count($personnes)?> listée(s) :</h1>
<? foreach($personnes as $p): ?>
<p>Nom : <?=$p->nom?>, Age : <?=$p->age?> ans</p>
<? endforeach; ?>
Avec une coloration syntaxique c'est clair comme de l'eau de roche.
>>> "* mais en posant des restrictions, pour éviter d'avoir du code métier dans les templates, c'est pourquoi les expressions sont parsées (en utilisant le tokenizer de php ;-) et "filtrées"."
C'est le seul avantage que je vois à un moteur de template autre que PHP. Dans ce cas ça ne concerne que le cas où des non-développeurs ont accès à des modèles sur une appli critique.
[^] # Re: Un moteur de templates est très utile
Posté par Tof . En réponse au journal De l'utilité des moteurs de templates en PHP. Évalué à 1.
>>> "* faciliter l'écriture. par exemple, remplacer les "<?php echo $variable?>" par une syntaxe plus simple comme {$variable}"
<?=$variable?> marche bien en php, avec l'option "short_open_tag = On".
Et du coup ça permet des transformations rapides, genre <?=ucword($nom)?> .
>>> * "sans toutefois ne pas avoir à reinventer totalement un langage, c'est pourquoi les expressions utilisées sont en php. ex: {$variable.$objet->propriete} qui est équivalent à...<?php echo $variable.$objet->propriete?> tout simplement :-)"
Entre <?= $variable . $objet->propriete ?>
et {$variable.$objet->propriete}, le gain de lisibilité est limité non ?
>>> "il y a des tags typiques comme {foreach}, {for}, {if} et cie, fonctionnant comme en php.</cite>"
Souvent je fais:
<h1><?=count($personnes)?> listée(s) :</h1>
<? foreach($personnes as $p): ?>
<p>Nom : <?=$p->nom?>, Age : <?=$p->age?> ans</p>
<? endforeach; ?>
Avec une coloration syntaxique c'est clair comme de l'eau de roche.
>>> "* mais en posant des restrictions, pour éviter d'avoir du code métier dans les templates, c'est pourquoi les expressions sont parsées (en utilisant le tokenizer de php ;-) et "filtrées"."
C'est le seul avantage que je vois à un moteur de template autre que PHP. Dans ce cas ça ne concerne que le cas où des non-développeurs ont accès à des modèles sur une appli critique.
My 2 cents :)