|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre régulier
![]() |
Bonjour,
Ca fait depuis très peu de temps que j'ai découvert les templates et que je me pose des questions là dessus. J'ai essayé la bibliotèque PHPlib (plus précisément le fichier template.inc) et je constate qu'il s'agit simplement d'un système de search&replace (oui je débute) Prenons la fonction set_var de la classe template qui permet de, je cite: * The function inserts the new value of the variable into the $varkeys and * $varvals hashes. set_var(string $varname, [string $value = ""], [boolean $append = false]) et voici le code: Code :
Sachant que l'utilité des templates est avant tout de séparer le contenant du contenu, d'où le php du html, alors, je pourrai très bien faire: fichier template.php fichier template.tpl : Code :
Par contre si on veut absolument une parfaite distinction entre un fichier html pure et un autre fichier .php, on pourrait dans ce cas utiliser un preg_replace + des expressions régulières qui va agir sur le fichier html. Par exemple dans index.html il y a une ligne où y a marqué *titre* Je pourrai alors dans un fichier php faire d'abord un file_gets_content sur index.html puis faire un preg_replace (ou str_replace) à l'aide d'expressions régulières pour "capturer" si je puis dire le mot *titre* et remplacer par ce que je veux. Donc voilà, c'est quoi l'utilité des templates ? N'est-ce pas se compliquer la vie quand on peut faire simple? Merci d'avance. |
||||
|
|
00
|
|
|
#2 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Les systèmes de templates substituent en général bien plus que des variables en prenant en charge des blocs notamment, qui permettent l'apparition de 0 à N fois d'une portion de code (très souvent utilisé au travers de boucles).
Quant à votre interrogation sur l'utilité de la chose, PHP est lui-même en quelque sorte un système de templates et c'est ce que vous montrez au travers de votre exemple mais dans ce cas vous avez de nouveau du code PHP dans votre code HTML (ou l'inverse). En ce qui concerne le fait de créer vous-mêmes votre système de templates basé sur preg_replace, ce serait un peu idiot dans la mesure où c'est ce que font plus ou moins déjà les systèmes de templates existants De plus il ne faut pas oublier que certains d'entre eux intégrent un système de cache (Smarty par exemple), ce qui les rend encore plus intéressants.Julp. |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() ![]() ERIC POMMEREAUIngénieur intégration Inscription : décembre 2004 Messages : 683 ![]() |
J'abonde dans ton sens julp ... inutile de réinventer la roue ... et puis les search and replace d'expressions régulières auraient leurs limites ... notament dans le cadre des structures plus complexes que des variables simple (array et object).
Les systèmes de templates proposent également d'autres fonctionnalités comme dans Smarty la possibilité en une lige de code de créer une liste déroulante ({html_option ... }) voir les fonctions utilisateur, ou bien (encore dans smarty) la console de debuggage ... et bien d'autres choses. Voilà ... @+
__________________
Eric POMMEREAU Articles : Smarty, JpGraph, Ajax YUI, IPython, Design patern strategy en PHP, Firebug Site : Antiquités du Marché des Ternes |
|
00
|
|
|
#4 | |
|
Membre éprouvé
![]() Inscription : février 2007 Messages : 475 ![]() |
C'est clair que php est déjà lui-même un bon système de template (le meilleur ?)
Citation:
Un autre avantage qui est parfois mis en avant c'est que les templates qui ne comportent donc pas de <?php ?> sont plus facilement lisibles/éditables dans des éditeurs text et wysiwyg (si on se débrouille bien, un fichier de template peut être un xml valide, chose beaucoup plus rare avec php uniquement) Un point non négligeable aussi, c'est que les "designers" ne sont pas censés connaître php, alors ils doivent apprendre un pseudo langage de template, ce qui peut être considéré comme légèrement paradoxale... En ce qui me concerne, plus je peux éviter les systèmes de template annexes (autre que php lui-même), mieux je me porte |
|
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() |
Ok merci à vous trois, je n'ai pas poster avant, car je voulais voir s'il y aurait des avis différents, mais apparement tout le monde est d'accord sur l'intérêt que portent les templates.
Merci. |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() ERIC POMMEREAUIngénieur intégration Inscription : décembre 2004 Messages : 683 ![]() |
Si je peux me permettre, un petite chose pour conclure.
Je dirais simplement que si un développeur php s'intéresse aux templates alors il y a de fortes chance qu'il en trouve une utilité. Pour ma part je m'y suis mis parce que dans tous mes projets en php, j'arrivais toujours à un moment où j'avais l'impression que ça devenait une usine à gaz, cela malgé des efforts pour bien organiser mon code (utilisation de fonctions, classes, refactoring régulier ...) L'utilisation des templates a en partie répondu à mon problème en règlant des problèmes de lisibilité, typiquement le mélange du code php et du html. La partie mise à jour / évolution des fonctionnalités n'est plus un calvaire ;=) Certains ne voient pas pourquoi ils utliseraient des templates ... tant mieux pour eux ... s'ils arrivent à y voir clair dans leur code ... moi j'ai du mal avec mon propre code ... l'usage des templates s'est imposé de lui-même. @+
__________________
Eric POMMEREAU Articles : Smarty, JpGraph, Ajax YUI, IPython, Design patern strategy en PHP, Firebug Site : Antiquités du Marché des Ternes |
|
00
|
Copyright © 2000-2012 - www.developpez.com