.tpl.php ou twig/smarty

.tpl.php ou twig/smarty - PHP - Programmation

Marsh Posté le 27-08-2011 à 16:38:40    

Durant le développement d'un site, j'ai utilisé smarty, j'ai vu que comme langage de template il fait trop de chose et permet même d'utiliser le php :/, et puis smarty ne fait que transformer un template smarty en php.
Il y a twig aussi, plus récent, moins buggé, mais pareil, ça reste un nouveau langage à apprendre (twig).
 
Dans le cadre du développement d'une appli en MVC, certains microframework permettent de d'utiliser le php comme template  (.tpl.php) ou twig. Actuellement je me suis penché sur limonade, d'une part parce que c'est un microframework, et d'autre part qu'il supporte php 5.2, le 5.3 n'étant pas forcément déployé sur pleins de plateformes et que souvent je suis appelé à taper sur des vieux sites hébergés sur des vieux hébergements en 4.7 qu'il faut switcher en 5.2.
 
 
Ma question était surtout axée sur le langage de template à employer. J'hésite entre twig et/ou directement utiliser du PHP.  
 
Je pencherai plus pour l'utilisation du PHP, cela permettrait d'une part de bénéficier de toutes les fonctions de PHP, mais d'autre part si un noob arrive après moi, et commence à faire des requetes SQL dans le template, c'est mal barré. Ou alors utiliser twig, qui est un langage de template, mais qui limite les fonctions a des fonctions concernant de la "vue".
 
Autre question, je suis en train de réfléchir sur un de module pour mettre en place sur mes sites. Mais via des templates j'ai du mal à voir ce que cela donnerai. Si vous avez déjà travaillé avec php/twig + un système de modules je suis preneur.
 
Merci


---------------
Blablaté par Harko
Reply

Marsh Posté le 27-08-2011 à 16:38:40   

Reply

Marsh Posté le 27-08-2011 à 16:50:41    

Bonjour,
 
Il y a les détracteurs et aficionados des moteurs de template. Travaillant régulièrement avec Smarty (que ce soit avec Prestashop, CMS Made Simple ou sur d'autres plate formes), je te conseillerais de ne pas utiliser un moteur de template.
 
Smarty (et tout les autres) demande un temps de prise en main qui n'est pas négligeable. Mais son utilisation peut s'avérer un gain de temps pour ceux et celles qui ne sont pas forcément familiarisé avec PHP (comme certains graphistes qui font quelques intégrations). Donc tout dépend aussi si plusieurs personnes (donc profil techniques) travaillent sur le même projet.
 
Il est moins austère pour un néophyte d'intégrer avec Smarty. Mais pour un développeur web, c'est (encore une fois : à mon avis) une perte de temps.

Reply

Marsh Posté le 27-08-2011 à 16:59:32    

La différence entre un moteur de template et du php pour le template est pour moi la simplicité à lire le code.

 

au lieu d'avoir un <?php echo $pouet?>
tu as un {{pouet}} la variable est plus facile à trouver.
Et puis le template permet de bien distinguer la vue du traitement.
Je commence à penser que si je mets les templates en PHP je risque d'être confronter à pas mal de nooberies si des utilisateurs externes interviennent.

Message cité 1 fois
Message édité par gatsu35 le 27-08-2011 à 17:03:42

---------------
Blablaté par Harko
Reply

Marsh Posté le 27-08-2011 à 17:25:17    

gatsu35 a écrit :

La différence entre un moteur de template et du php pour le template est pour moi la simplicité à lire le code.
au lieu d'avoir un <?php echo $pouet?>
tu as un {{pouet}} la variable est plus facile à trouver.


Certes. Mais avec les IDE d'aujourd'hui, la coloration syntaxique facile grandement le développement.

 
gatsu35 a écrit :

Et puis le template permet de bien distinguer la vue du traitement.


D'où l'intérêt d'une architecture MVC ! Cette architecture, si elle est bien utilisé, te permet de bien différencier la vue du composant (et du modèle). Et justement, tu as déjà fait le bon choix (d'après ton premier post). C'est beaucoup plus facile d'avoir une certaine rigueur de travail en MVC qu'en "freestyle".

 
gatsu35 a écrit :

Je commence à penser que si je mets les templates en PHP je risque d'être confronter à pas mal de nooberies si des utilisateurs externes interviennent.


A mon avis c'est LA question à la quelle tu dois répondre. Ton application est-elle susceptible d'être développé par d'autres développeurs ? Par des pseudo développeurs ?


Message édité par guicara le 27-08-2011 à 17:25:33
Reply

Marsh Posté le 27-08-2011 à 21:01:50    

Actuellement je retape de l'existant, enfin je REFOND quand je peux, et du coup je passe par une solution bien plus propre. Et pour bosser j'ai tout dans SVN, donc quelqu'un pourrait venir pourrir le site une fois que je suis passé, je pourrais faire des diffs. Mais mon but est d'empêcher un kikoolol de venir taper dans le code et faire des appels SQL (par exemple) et faire du n'importe quoi au niveau de la vue.

 

On ne sait jamais ce qui peut être fait. J'ai refondu un site récemment, chaque langue du site était montée dans un joomla dans une version différente. du grand nawak, j'ai fait du coup un site multilingue, c'est bien plus propre.


Message édité par gatsu35 le 27-08-2011 à 21:05:50

---------------
Blablaté par Harko
Reply

Marsh Posté le 27-08-2011 à 22:40:50    

silex / twig ?  


---------------

Reply

Marsh Posté le 27-08-2011 à 23:33:21    

question qui n'a rien à voir, tu utilise quel frameworks ou microframework  :??:
en faite je suis en train d'en écrire un, mais si quelque chose de simple existe, je suis preneur :)


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 28-08-2011 à 03:30:36    

stef_dobermann a écrit :

question qui n'a rien à voir, tu utilise quel frameworks ou microframework  :??:
en faite je suis en train d'en écrire un, mais si quelque chose de simple existe, je suis preneur :)


Ya silex qui reprend le gros de symphony et integre twig mais pour ma part j'utilise limonade avzc smarty mais je compte passer a twig


---------------
Blablaté par Harko
Reply

Marsh Posté le 28-08-2011 à 13:54:47    

guicara a écrit :

Il y a les détracteurs et aficionados des moteurs de template. Travaillant régulièrement avec Smarty (que ce soit avec Prestashop, CMS Made Simple ou sur d'autres plate formes), je te conseillerais de ne pas utiliser un moteur de template.


 
Un cri de bon sens  :jap:  
 
Comme l'a dit Rasmus Lerdorf, PHP est DEJA un moteur de template.
Pas besoin de couche supplémentaire.  :heink:

Message cité 1 fois
Message édité par CyberDenix le 28-08-2011 à 13:55:15

---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 29-08-2011 à 23:13:39    

gatsu35 a écrit :


Ya silex qui reprend le gros de symphony et integre twig mais pour ma part j'utilise limonade avzc smarty mais je compte passer a twig


merci, j'ai regardé il faut voir...


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 29-08-2011 à 23:13:39   

Reply

Marsh Posté le 30-08-2011 à 13:45:00    

CyberDenix a écrit :


 
Un cri de bon sens  :jap:  
 
Comme l'a dit Rasmus Lerdorf, PHP est DEJA un moteur de template.
Pas besoin de couche supplémentaire.  :heink:


PHP3 était un moteur de template ouais.
 
Désolé pour toi si tu t'en sers encore comme ça à l'heure actuelle. Pour moi, PHP a évolué dans un sens qui l'a bien éloigné du simple moteur de template. Enfin bref, je vais prêcher pour ma paroisse : Twig sans hésiter. J'ai jamais aimé les moteurs de template type smarty and co, et je me suis bien fait à Twig. Je ne peux plus m'en passer maintenant.


---------------
Mon Feedback !
Reply

Marsh Posté le 31-08-2011 à 19:00:34    

+1 pour twig qui est vraiment simple d'utilisation, rapide à prendre en main et en exécution. C'est pour moi la solution idéale pour commencer à travailler avec un moteur de template et séparer les vues du code.
 
Le seul reproche que je peux lui faire est son manque de ressources sur internet, difficile de trouver de bon exemples ou tutos...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed