Besoin d'un moteur de templates en PHP ? Découvrez donc cette liste de 6 templating engines PHP simple à installer !

Pour la bonne maintenabilité de tous les projets de taille moyenne (dès qu'on dépasse les 4 pages selon moi) il est important de bien séparer les vues la logique de ses pages. Sur une application de quelques pages, un gros encart <?php ?> contenant toute la logique nécessaire à la page peut être suffisant, mais dès que l'on fait appel à un router, il est important de se trouver un bon moteur de templates.

Pour vous aider dans cette tâche, je vous propose de (re)découvrir une liste de 6 moteurs de templates en PHP.

Smarty

Smarty fait partie des "vieux" J'ai decouvert Smarty il y a des 10 aines d'années, et ce langage fut mon tout premier langage de templating. Les mises à jour ne sont pas très fréquentes, et il n'a peut-être pas toutes les fonctionnalités des plus jeunes, mais il mérite tout de même un coup d'oeil

Twig

Twig est un moteur de template issu de Symfony (si je ne me trompe pas) très simple à installer dans son projet et utiliser. Il ressemble un peu à Mustache ou liquide dans son fonctionnement

Haml

Portage du langage de templating Ruby du même nom. Attention, le HAML fonctionne avec l'indentation (comme le python par exemple) et peut être déroutant au premier abord (et parfaitement addictif une fois que les habitudes ont en place).

Liquid

Création de Shopify (et en ruby a l'origine), Liquide est un langage parfait pour laisser les utilisateurs d'un service customiser le style de leurs pages tout en restreignant leurs droits. De plus, le langage est multiplate-forme, et les mêmes templates pourront être utilisée en PHP ou Ruby de manière indifférenciée.

Mustache

Langage de templating polyglot, Mustache cour permettra d'avoir des templates compatibles avec à peu prés tous les langages imaginables (même bash, par exemple^^).

Plates

Plate est plus une surcharge du Php natif avec des fonctionnalités inspirée de Twig. Pratique si vous n'avez pas envie d'utiliser un langage templating demandant une compilation.