Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Templating dans Jelix

Posted by Yhann on 06/20/2009 13:59

Bonjour,

Je me posais la question de savoir pourquoi vous avez fait le choix d'un système de template pour les vues.

Jelix semble être très proche de PHP de par sa philosophie (celle qui est expliquée sur une page de votre site) et on aurait pu s'attendre à l'emploi de PHP dans les vues, plutôt que d'un langage de template.

Même si jTemplate semble proche de PHP (et dans ce cas, on pourrait aussi dire "puisque" jTemplate est proche de PHP), pourquoi avoir fait ce choix ?

Il y a sûrement de bonnes raisons mais elles m'échappent. Pouvez-vous m'en donner ?

Merci à vous.

  [Opened] Re: Templating dans Jelix

Reply #1 Posted by foxmask on 06/20/2009 19:02

Bonsoir

Je n'ai pas croise de framework qui ne gère pas les vues avec son propre moteur de template

Certes ça ne justifie pas/rien mais il y a au moins une raison en terme de performance puisqu'une fois "cachée" la page est affichée plus rapidement.

Cdt


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] Re: Templating dans Jelix

Reply #2 Posted by bballizlife on 06/21/2009 09:19

Une des raisons principales est qu'un moteur de template comme jTpl ne demande pas au designer de faire du php. En proposant sa propre syntaxe simplifiée et en "bridant" les possibilités de part des plugins, on limite le risque de faire n'importe quoi (sécurité notamment).

De mon côté en terme de lisibilité, je préfère un {$foo} qu'un <?php echo $foo; ?>


N'importe comment c'est dans la doc

  [Opened] Re: Templating dans Jelix

Reply #3 Posted by laurentj on 06/21/2009 14:19

Yhann : ne confond pas moteur de template et syntaxe de template.

L'utilisation d'un moteur de template est une evidence : les données à utiliser pour l'affichage sont embarquée dans un objet (ici jtpl), qui peut donc être passé et utilisé par plusieurs autres objets si besoin : on peut donc, à differentes étapes, ajouter des données, les modifier, avant la génération du contenu. Bref, voir l'API de la classe jTpl pour se rendre compte de l'utilité d'avoir un moteur de template.

Après, certes, on peut discuter longtemps sur la syntaxe à utiliser dans les fichiers de templates, que ce soit une syntaxe purement php, ou une autre syntaxe comme celle de jtpl.

Bballizlife a déjà énoncé les principales raisons du choix d'une syntaxe non php :

  • sécurité
  • empecher de faire n'importe quoi dans le template (genre, empecher d'avoir l'idée saugrenue de faire une requête sql directement dans le template, ce qui est en contradiction avec l'esprit du framework)
  • apporter des facilitées d'écriture, que ce soit au niveau des "echo", que d'autres choses comme l'affichage des locales, ou encore des choses comme {ifuserconnected} par exemple.
 
Page
  1. Templating dans Jelix