Template ? - PHP - Programmation
Marsh Posté le 14-06-2004 à 19:24:26
Pas compris ton souci
Sois plus précis dans ta demande. Quel est l'utilisation exacte que tu veux en faire ?
Comment penses tu que cela fonctionne ?
Donne plus de code
Marsh Posté le 14-06-2004 à 19:29:25
Ben en fait, je voudrais faire afficher la variable $template dans le fichier template.tpl, or je sais que seuls les fichiers PHP peuvent le faire. Cependant, j'ai analiser un script de phpbb et je vois que pour faire afficher leur variable sur le browser à travers un fichier .tpl, ils font comme ça :
array('TEMPLATE' => '$template');
dans le fichier php et après ils mettent {TEMPLATE} dans un fichier template (ca devrait afficher la valeure de la variable $template).
Marsh Posté le 14-06-2004 à 19:42:57
Il y a toute une machine là derrière.
Tu as du rater du code de phpBB.
Pour aller en simplifiant, regarde en détail la fonction preg_replace()
et étudies aussi cette fonction :
Code :
|
$motifs est un tableau contenant les motifs à remplacer dans ton fichier template
$remplacement est aussi un tableau qui contient le contenu à afficher à la place des motifs
$ou est le fichier de template
Marsh Posté le 14-06-2004 à 19:47:54
Ah donc le principe en fait c'est d'ouvrir le fichier, prendre son contenu et remplacer la ou il y a {TEMPLATE} par les informations. Très interessant bon, je vais voir ce que ca donne
Marsh Posté le 14-06-2004 à 20:45:29
Ca marche parfaitement
Marsh Posté le 14-06-2004 à 23:53:22
tu peux aussi utiliser les bibliotheques de fonction pear qui t evite de parser le fichier a chaque fois
tu ouvres ton template et tu fais un setVariable('nom_variable_dans_template',$variable)
+ d infos ici http://pear.php.net/
Marsh Posté le 15-06-2004 à 15:17:06
En template Smarty est également une solution intéressante :
http://smarty.php.net
(notamment quand vous avez des problèmes de version pear/php avec votre hébergeur sur un hébergement mutualisé qui fait que vous ne pouvez pas utiliser correctement Pear).
Marsh Posté le 19-06-2004 à 00:08:57
Kriscool a écrit : En template Smarty est également une solution intéressante : |
tres interessant smarty je connaissais pas merci
Marsh Posté le 23-06-2004 à 10:07:27
smarty est assez excellent. j'utilise plus que ça et je pourrais pas revenir en arrière (je viens de poster le même genre de message à l'instant dans un autre sujet ! )
Marsh Posté le 23-06-2004 à 10:16:40
Il est pas mal mais il est très très lourd ...
J'ai développé un moteur de templates du meme acabit que smarty mais en beaucoup beaucoup plus léger. Je le mettrais en gpl dans quelques temps.
Marsh Posté le 23-06-2004 à 11:01:56
Si c'est vrai joli travail.
mais bon smarty y a quand même un système de précompilation, de cache etc. qui optimise les pages. les temps d'exécution restent très bas.
plus tout le "langage" smarty et ses plugins, ça fait quand même un sacré logiciel.
personnellement je ne le trouve pas si lourd. j'ai même testé le temps d'exécution des pages, une fois la page en cache (après la première 'compilation') c'est extrèmement rapide. On voit même la différence sur les pages où il y a les requêtes mysql, avec une légère augmentation du temps d'exécution (ça reste négligeable quand même).
Marsh Posté le 23-06-2004 à 11:10:35
j'ai aussi fait un systeme de caches tres pousses, et niveau rapidite, mon moteur n'a rien a envier a smarty
Marsh Posté le 23-06-2004 à 11:19:56
c'est lourd les templates.. C'est ce qui me rebute à en faire pour mon site
Marsh Posté le 23-06-2004 à 16:04:16
sur quoi vous vous basez pour dire que c'est "lourd" ?
temps de chargement/compilation ?
difficile à mettre en oeuvre ?
ou juste pas envie de faire face au changement... ?
Marsh Posté le 23-06-2004 à 17:57:33
temps de chargement et utilisation cpu
Marsh Posté le 24-06-2004 à 15:26:59
ah... la charge cpu j'ai pas testé, mais niveau temps de chargement smarty c'est d'la balle
Marsh Posté le 24-06-2004 à 23:44:27
Moi j'me casse pas la tête, ça fait la même chose que smarty et c'est très rapide : j'ai une classe template à instancier, celle-ci "include" le fichier template choisi et c'est tout.. Ce fichier contient simplement le XHTML avec des <?= $this->values['test'] ?> aux endroits dynamiques.. Pour les tableaux par ex, une boucle en PHP directement incluse dans le template fait l'affaire, c'est très propre et très performant je trouve..
Marsh Posté le 24-06-2004 à 23:45:43
Tu nous en fais profiter ?
Marsh Posté le 25-06-2004 à 01:58:39
*Syl* : tout le monde peut faire la même chose que Smarty puisqu'au final Smarty ne fait rien d'autre que de générer un script php =)
Marsh Posté le 25-06-2004 à 09:33:44
KrisCool a écrit : *Syl* : tout le monde peut faire la même chose que Smarty puisqu'au final Smarty ne fait rien d'autre que de générer un script php =) |
J'suis au courant, je l'avais testé quand je cherchais un moteur de templates, j'le trouvais rapide & sympa mais j'préférais quand même ma solution
Marsh Posté le 14-06-2004 à 19:18:37
Salut,
C'est la première fois que je fais des templates et j'ai un petit problème, voila ce qu'il y a dans mon fichier php :
Dans mon fichier template.tpl :
Malheureusement, à l'affichage, je vois {TEMPLATE} au lieu de template1...