|
|||||||
| Templates Forum d'entraide sur les templates (gabarits) avec PHP. Exemples : Smarty, TinyButStrong... Avant de poster -> FAQ templates et Cours gabarits |
|
|
Publicité ' | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Outils de la discussion |
|
|
#161 | |
|
Invité de passage
![]() Inscription : mars 2005 Messages : 1 ![]() |
Citation:
toutefois, je trouve qu'il manque la capacité d'utiliser des noms dynamiques sur les elements. Code :
$this->elements[$this->var]->setValue("mavaleur") car apparamment, les elements sont compilés avant les {var}. j'ai ce probleme car je ne prefere pas utiliser quickform ... si quelqu'un a une solution d'ailleurs ... j'ai fouillé dans les options de compilation mais je trouve po. |
|
|
|
00
|
|
|
#162 |
|
Futur Membre du Club
![]() Développeur Web Inscription : juin 2003 Messages : 89 ![]() |
Auriez vous des sites ou des docs PHP pour débuter dans les Template et connaitre bien voir très bien le sujet par la suite ?
Merci d'avance |
|
|
00
|
|
|
#163 | |
|
Membre Expert
![]() ![]() Inscription : mars 2003 Messages : 1 157 ![]() |
Citation:
__________________
Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum. |
|
|
|
00
|
|
|
#164 |
|
Membre confirmé
![]() ![]() Inscription : août 2003 Messages : 159 ![]() |
antoineb -> il me semble que le probleme se pose a cause du fait que tu mette justement {var} dans l'attribut d'un element de formulaire, là ou normalement il n'y en a pas besoin.
Code :
$this->elements[$this->var]->attributes['name'] = 'mavaleur'; |
|
|
00
|
|
|
#165 |
|
Membre régulier
![]() Inscription : mai 2004 Messages : 127 ![]() |
Il existe beaucoup de moteur de templates mais les approches de chaque moteur est souvent différentes.
L'approche PHP natif. ( Melange de PHP dans du HTML ) Solution tres performante et tres simple pour le developpeur. Par contre, pour le coté design c'est un peu la galère pour le designer. L'approche search&replace. ( Par affections de variables ) Solution appréciée par le designer, le code du developpeur reste simple et organisé. Par contre, une baisse de performance de 20% par rapport a la solution native. L'approche par composants. ( Comme les lego quoi Chaque composant de la page est independant. C'est un peu un casse tete pour le designer. Le travail du developpeur devient plus simple et plus organisé. Par contre, pas moyen d'avoir un apercu globale de la page avant de tester. L'approche par XML/XLST. ( Maximum Balises ) Ressemble à l'approche precedente sauf que tout est decrit dans le XML. Le PHP genere le XML et le designer, avec ses connaissance de XLST, peut construire les pages. Cette approche est celle qi presente la meilleure pérennité malgré que le designer doit se former au XLST. Bon tout ca c'est bien gentil mais c'est pour dire quoi au final ? Sans doute rien IoI parce je pense que tout le monde a deviner que les moteurs de templates les plus puissants sont ceux ceux à approche "search & replace" tels que PHPLib et Smarty dont la différence se trouve dans la légèreté de PHPLib pour ses performances tandis que Smarty est une solution polyvalente donc moins performante. D'autres solutions sont a retenir, Modelixe( basé sur la syntaxe XML) et Templeet( qui melange moteur de template, systeme de publication et outil de gestion pour allier simplicité et performance ) Bon je dois y aller, j'espere que cela va vous aider un peu si je me suis planté quelque part desole, je reviendrais pour corriger. A+ bonne apres midi |
|
|
00
|
|
|
#166 | |
|
Expert Confirmé Sénior
![]() Mathias GaunardIngénieur développement logiciels Inscription : décembre 2003 Messages : 3 550 ![]() |
Citation:
|
|
|
|
00
|
|
|
#167 |
|
Membre chevronné
![]() ![]() |
euh... bien souvent "L'approche search&replace" consiste à générer du code PHP natif... donc la baisse de performances est quasiment inexistante.
|
|
|
00
|
|
|
#168 |
|
Membre régulier
![]() Inscription : mai 2004 Messages : 127 ![]() |
PHP natif
$titre = 'Mon titre'; $description = 'Ma description'; include 'template.php'; /* template.php */ <html> <head> <title> <? echo $titre; ?> </title> </head> <body> <? echo $description; ?> </body> </html> Search&Replace <? include_once 'moteur.php'; $moteur = new moteur_de_template(); $moteur -> setVar('titre', 'Mon titre'); $moteur -> setVar('description', 'Ma description'); $moteur -> display( 'template.html'); ?> /* template.html */ <html> <head> <title> {titre}</title> </head> <body> {description} </body> </html> Juste pour dire que l'approche search&replace utilise plus le processeur que le par le PHP natif d'ou sa baisse de performance. a+ |
|
|
00
|
|
|
#169 |
|
Membre chevronné
![]() ![]() |
non : Smarty "compile" les templates, c'est à dire qu'après les search/replace, le résultat est un script PHP qui est conservé tant que le template n'est pas modifié.
Ainsi, il n'y a aucune perte de performances. |
|
|
00
|
|
|
#170 |
|
Membre régulier
![]() Inscription : mai 2004 Messages : 127 ![]() |
Pour repondre à kioob, c'est le systeme de cache qui permet cela. Ainsi, les performances sont optimisées, mais tous les moteurs à approche "search&replace" n'ont pas (ou pas encore) cette fonctionnalité.
Et pour répondre à Moloc'h, le designer n'a pas forcement des compétences PHP pour utiliser la syntaxe du PHP contrairement à l'utilisation des {variables}. |
|
|
00
|
|
|
#171 | ||
|
Membre chevronné
![]() ![]() |
Oui, on peut parler de système de cache... il n'en reste pas moins que le code exécuter sera du PHP natif ; et pour moi tout bon moteur de template se doit de le faire. Je n'en ai pas utilisés beaucoup, mais ils le faisaient tous.
Moloc`h, de plus, dans mon cas un simple : pourra être remplacé par : Code :
L'intérêt est déjà un peu plus visible... non ? |
||
|
|
00
|
|
|
#172 |
|
Invité régulier
![]() Inscription : mai 2005 Messages : 25 ![]() |
En espérant qu'il n'a pas déjà été cité, il y a aussi TPLN (Templates Pour Les Nuls), je ne l'ai pas testé car j'utilise PHPLib qui me semble suffisemment performant pour faire un site entier, mais TPLN avait l'air intéressant, et... OpenSource
|
|
|
00
|
|
|
#173 |
|
Invité régulier
![]() |
j'ai depusi longtemps suivi ce sujet.
J'ai essayé différent moteur de templates "légers" (phpliub, template power et d'autres) ainsi que des moteurs de templates "lourds" (templeet et smarty notamment). Mon constat est que dans tout les cas, c'est au mieux ausssi rapide avec du cache que php seul sans cache ... De plus il est très possible d'utiliser php seul comme moteur de template. En fait une fois qu'on a la manière de penser "template", je pense qu'on peut très bien y arriver sans en utiliser, justement... De plus, l'équipe xml/xsl/css/php fonctionne bien elle aussi, et sépare également le contenu de la présentation. Je pense simplement que selon le niveau du développeur et ses gouts, il n'y a pas de faconde faire (template,php, xml/xsl) qui soit meilleur que l'autre. C'est juste différent. Maintenant, personnellement, j'ai bien aimé phplib, templeet et smarty. xml/xsl j'accroche pas des masses mais bon selon les cas ca peut etre intéressant comme système ... |
|
|
00
|
|
|
#174 | |
|
Membre régulier
![]() Inscription : mars 2004 Messages : 99 ![]() |
Citation:
Perso j'ai retenu Smarty, le plus rapide à mon avis, facile de s'y mettre, et je peux faire tout ce dont j'ai besoin avec |
|
|
|
00
|
|
|
#175 |
|
Expert Confirmé Sénior
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 2 171 ![]() |
bon je suis peut être un peut violent
mon php utilise Xtemplate pour faire du XML lui même est passé par XSLT pour en faire autre chose (PDF, SVG, HTML SOAP) mais à la place de Xtemplate j'envisage d'utilise XMLize (XML serialize : sérialisation d'objet en XML) comme avantage on peut très tôt tester son appli sans aucune interface. il suffit de fournir les antrés et de lire le XML produit on peut multiplier à l'envie les format de sorties pour chaque sorties voulue il suffit d'écrire un tempalte XSLT on peut envoyer le xml directement au client lorsque celui-ci sait le utiliser xslt le contre est qu'on ralenti la machine et il n'est pas toujours simple d'écrire les IHM avec XSLT Je zieute beaucoup vers AJAX pour cela. dans mon approche j'aurais donc d'un coté un serveur de page html (Ajax) statiques qui lorsque le client les manipule elles appellent mon serveur qui répond en XML (SOAP, ou autre) la séparation IHM client<->Data<->programme est totale. A+JYT |
|
|
00
|
|
|
#176 |
|
Invité de passage
![]() Inscription : juin 2005 Messages : 3 ![]() |
|
|
|
00
|
|
|
#177 |
|
Invité régulier
![]() Inscription : décembre 2003 Messages : 17 ![]() |
Bonjour,
Je ne pense pas qu'il a été posté alors voilà : http://www.massassi.com/php/articles/template_engines/ J'ai découvert cet article en cherchant comment un template fonctionnait et j'avoue qu'il m'a appris bcp de choses. Le moteur de template n'utilise que php. Je veux dire par là qu'il n'y a pas de langage interne propre au moteur. Tout est en php. Dans l'article il dit que ca a déjà été fait (cf page 2 de l'article) mais je n'arrive pas à trouver d'autres exemples que le sien. Connaîtrez-vous un moteur similaire ? Je suis en train de l'utiliser pour un site et j'avoue qu'il n'est pas super facile. Voilà, si jamais il y en a un dans le même genre qui vous vient à l'esprit, faîtes moi signe Bonne journée Melmel Edit : J'ai trouvé celui-là : Savant2 : http://phpsavant.com/yawiki/ Le connaissez-vous ? Je n'ai pas trouvé beaucoup d'articles qui en parlent sur le net. Je vais faire un essai aujourd'hui. |
|
|
00
|
|
|
#178 |
|
Invité de passage
![]() Inscription : juillet 2005 Messages : 1 ![]() |
Pour ma part j'utilise TemplatePower (http://templatepower.codocad.com/) qui est simple, puissant et rapide d'excécution.
|
|
|
00
|
|
|
#179 |
|
Invité régulier
![]() Inscription : décembre 2003 Messages : 17 ![]() |
Bon, ca va faire une semaine que j'utilise Savant2(http://phpsavant.com/) et pour tout vous dire, il fait super bien son boulot, qui est de séparer la logique du design.
Il est entièrement en php, la doc est très bien faite (en anglais) et il y a une version supérieure compatible php5. Ce que j'aime : - la façon de coder : tout est en php, pas besoin d'apprendre un nouveau langage propre au moteur de template. - la séparation du fichier 'design' du fichier 'logique' (requete sql, etc.). - la compatibilité avec php5 avec Savant3 - le systeme de plugin - la possibilité d'utiliser un accélérateur php (Turck MMCache, Zend, php Accelerator). Ce que j'aime moins : - pas beaucoup de support. Il n'y a pas de forum. A la place, il y a une mailing-list. - la doc n'est qu'en anglais. - et c'est tout Donc voilà, si vous ne savez pas quoi prendre comme moteur de template, Savant2 vaut le coup. Bon lundi melmel |
|
|
00
|
|
|
#180 | |
|
Invité de passage
![]() Inscription : juillet 2005 Messages : 8 ![]() |
VTemplate !
Pourquoi ? Parce que c'est celui que j'ai découvert au boulot et qu'il est reconnu comme étant simple et efficace. Et effectivement, j'en suis très content. On peut même taper des trucs du genre : PHP : $vtp->setVar($vtp_struct, "ZONE.VAR_PAGE_EN_COURS", "p".$pagemag); Template HTML : A#{#VAR_PAGE_EN_COURS} { text-decoration:none; background-color:Yellow; } ...qui change l'allure du lien en-cours de mon sommaire : <a id="p01" href="/index.php?page=01">Accueil</a> comme le précise la doc : Citation:
|
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com