Smarty, non merci


Ca fait maintenant plusieurs jours que je travail sur un E-Commerce Prestashop avec un thème et des fonctionnalités bien tordues. Mais bon, Prestashop est une bonne plateforme, bien concue. Créer un module ou tordre un peu le Core pour l’adapter à ses fins est assez facile. Par contre, le problème, c’est ce p*** de SMARTY !!! Je me demanderai toujours pourquoi, mais pourquoi donc les gros projets (sauf Magento, tiens…) ne peuvent s’empêcher de s’embarquer dans ce bidule qui, pêle-mêle :

  • Ne simplifie pas _du tout_ la vie du développeur
  • Ne simplifie pas non plus le job du Designer
  • Alourdi considérablement l’execution du code
  • Ne sépare EN RIEN le business logic du template
  • Rend très vite les templates tout simplement illisible

 

Alors quoi ? I18n ? YAML permet de faire plus clair, concis et tout aussi efficace. Séparation de la logique du template ? Je vois pas le rapport, MVC est là pour ça, et c’est pas de rajouter une deuxieme couche au niveau de la vue qui va arranger quoi que ce soit. Quant à la lisibilité du template, je vous renvoie vers HAML, et vous verrez -si vous ne connaissez pas encore- ce que “lisibilité” veut dire !

Bref, Smarty, non merci.

 

Edit : ha tiens, je ne suis apparemment pas le seul.


Cahnory mer 25 Jan 2011
Ha ça oui !

Bien d'accord ! La seule utilisation valable d'un système de template selon moi se présente lorsque l'on souhaite utiliser des vues fournies par l'utilisateur. Il faut alors garder un minimum de possibilités (boucles, tests,...) mais aussi empécher l'exécution de code malicieu. Dans le cadre d'un développement normal où, tous les fichiers de code sont fournis par des personnes dont on connaît les intentions, php seul fait largement l'affaire !

Jim mar 01 Nov 2010
hmmm...

Le gros avantage que je voie dans Presta, avec les templates Smarty est de pouvoir les surcharger pour créer son propre thème.

Le deuxième est effectivement le cache. Et ce n'est pas la même chose que la mise en cache du code PHP. Avec Smarty on se retrouve au final avec des morceaux de pure html que l'on assemble à la volé et au besoin.

Envie de donner votre avis ?

Votre Nom*

Adresse Mail (ne sera pas publiée)*

Site web

Votre commentaire*


Cochez cette case si vous n'êtes pas un robot spammeur