Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Remplacement de mon systeme de template ....

7 réponses
Avatar
stefen76
Bonjour,

Mon problème : j'ai développé un framework MVC dans lequel j'ai
implémenté le système de template Mala, mais celui-ci n'évolut
quasiment plus... Donc je cherche à le remplacer. J'ai regardé du
côté de Smarty, Tpln, TinyBustrong...

Comment marche mon Fw :
mon controleur appel une layout composée de différents composants.
avec MALA j'initialise l'objet template avec un certains nombre de
paramètres applicatif dans mon controleur et ensuite je passe l'objet
à chaque composant. Le composant se chargeant ensuite de charger les
données et le template html approprié.

Mon problème : d'après ce que j'ai vue dans tous les systèmes de
template dans l'initialisation l'instruction d'appel du template html
se fait en début de script et ensuite on assigne les variables...

Alors que Mala permet l'assignation des variables et ensuite l'appel du
template...

Donc je recherche un système proche pour ne pas avoir à casser tout
mon framework.

Merci pour l'aide et désolé pour la longueur de l'explication.

7 réponses

Avatar
ftc
Mon problème : j'ai développé un framework MVC dans lequel j'ai
implémenté le système de template Mala, mais celui-ci n'évolut
quasiment plus... Donc je cherche à le remplacer. J'ai regardé du
côté de Smarty, Tpln, TinyBustrong...
[SNIP]


Donc je recherche un système proche pour ne pas avoir à casser tout
mon framework.


Regarde du côté de Savant, c'est un des systèmes de templates les plus
intelligent puisqu'il utilise tout simplement PHP comme langage de
template, donc pas besoin d'apprendre un nouveau pseudo langage et
élimine la lourdeur liées à la compilation du template en un script PHP.

Avatar
stefen76
C'est pas mal Savant, mais dans ce cas je n'ai pas vraiment besoin de
ca je peux directement le faire en php... Ce que je recherche c'est un
système qui me permet de garder des gavarits html avec uniquement
quelques balises.

Avec Savant je me retrouve avec du code php complexe (boucle, etc...)
dans mes template.

Avez-vous une autre idée.

Merci à tous

Stéfen76
www.duostore.net
www.ville-commune.net
Avatar
ftc
C'est pas mal Savant, mais dans ce cas je n'ai pas vraiment besoin de
ca je peux directement le faire en php...


Ca permet quand même de bien isoler la couche Vue.

Ce que je recherche c'est un
système qui me permet de garder des gavarits html avec uniquement
quelques balises.


Avec Savant je me retrouve avec du code php complexe (boucle, etc...)
dans mes template.


Dans tout système de template tu te retrouves à faire des boucles, des
if..else etc ...

L'avantage de Savant, c'est que justement c'est du PHP, pas besoin
d'apprendre un nouveau langage souvent un peu bancale et qui de toute
façon sera traduit en PHP.

Avatar
stefen76
Oui je suis d'accord avec toi, mais dans le cas de savant quelle est la
différence entre utiliser la class et faire un include de mon template
php avec les boucles etc... je ne vois pas vraiment l'intérêt.

L'avantage d'un système de template (même si celui-ci est de toute
façon plus lent à exécuter) c'est que j'appel des méthodes et
ensuite j'ai juste des variables simple dans mon code html :
<loop><var1><var2></loop>, ce qui me permet de travailler avec un
infographiste sans que celui-ci ne se pose de question. Avec Savant il
y a quand même beaucoup de code php dans le template...

Donc la dissociation code présentation... j'ai un peu de mal quand
même.

Stéfen
www.duostore.net
www.vilel-commune.net
Avatar
ftc
Oui je suis d'accord avec toi, mais dans le cas de savant quelle est la
différence entre utiliser la class et faire un include de mon template
php avec les boucles etc... je ne vois pas vraiment l'intérêt.


Isoler les variables pour qu'elles ne viennent pas poluer l'espace de
nom, pouvoir gérer un système de cache, avoir des pre et post
traitements etc ...



L'avantage d'un système de template (même si celui-ci est de toute
façon plus lent à exécuter) c'est que j'appel des méthodes et
ensuite j'ai juste des variables simple dans mon code html :
<loop><var1><var2></loop>, ce qui me permet de travailler avec un
infographiste sans que celui-ci ne se pose de question.


Quelle différence entre :

{foreach from=$custid item=curr_id}
id: {$curr_id}<br />
{/foreach}

Et :

<?php
foreach( $custid as $curr_id ) {
echo "id: $curr_id <br />";
}
?>

Il me semble que les deux sont à peu près équivalents, donc à choisir
j'aime autant que le designer apprenne les bases du PHP plutôt qu'un
langage de template qui ne lui servira peut être qu'une seule fois. Sans
compter que le développeur doit lui aussi apprendre l'API du moteur de
template.

A noter qu'on peut même avoir une version PHP qui ressemble encore plus
à celle d'un système de template:

<? foreach( $custid as $curr_id ): ?>
id: <?=$curr_id?><br />
<? endforeach; ?>

Avatar
Jean-Marc Molina
ftc wrote:
Regarde du côté de Savant, c'est un des systèmes de templates les plus
intelligent puisqu'il utilise tout simplement PHP comme langage de
template, donc pas besoin d'apprendre un nouveau pseudo langage et
élimine la lourdeur liées à la compilation du template en un script
PHP.


Dans le même genre, mais en plus modeste, il y a aussi SimpleT :
<http://simplet.sourceforge.net>.

Avatar
Jean-Marc Molina
ftc wrote:
Il me semble que les deux sont à peu près équivalents, donc à choisir
j'aime autant que le designer apprenne les bases du PHP plutôt qu'un
langage de template qui ne lui servira peut être qu'une seule fois.
Sans compter que le développeur doit lui aussi apprendre l'API du
moteur de template.


Entièrement d'accord avec ftc. Concernant cette problématique voir aussi la
discussion news:// J'y
parle notamment d'un article de Brian Lozier. Et pour Stéfen et spécialement
les designers réticents à PHP, il y a aussi l'article "PHP For Designers" de
Matt Mullenweg : http://www.digital-web.com/articles/php_for_designers/.
Donc à choisir entre un langage "scriptique" et PHP... <?= "Les designers
aiment PHP !" ?>.