twig.jpg

La plupart d'entre vous connaissent et utilisent le PHP comme langage de développement pour leur site Web. Cependant connaissez-vous Twig ?

Twig est un moteur de template performant et très simple d'utilisation permettant de dé-corréler les pages HTML du code PHP. Il permet de réaliser des applications PHP plus propres, sans devoir utiliser des frameworks lourds comme Symphony ou Zend Framework par exemple.

L'auteur de ce fabuleux outil est ni plus ni moins que Fabien Potencier, le créateur de Symfony framework ;-)

L'usage de Twig est très simple, il suffit de télécharger la librairie, de l'intégrer au sein de son projet PHP et d'initialiser le moteur de template au travers de quelques lignes de PHP :

$loader = new Twig_Loader_Filesystem('/path/to/templates');
$twig = new Twig_Environment($loader, array(
    'cache' => '/path/to/compilation_cache',
));

Le framework a juste besoin d'un répertoire de cache et d'un répertoire contant de pages HTML pour fonctionner.

Une fois le framework initialisé, le rendu d'une page HTML depuis le code PHP est très simple, il suffit de préciser le nom du fichier HTML à interpréter, accompagné de la liste des variables à injecter dans la vue.

echo $twig->render('index.html', array('name' => 'Fabien'));

Au niveau des pages HTML, la lecture des pages est simplifiée, les tags PHP ont disparus et ont été remplacés par des tags simple à retenir et surtout rapide à utiliser.

<h1><?php echo $name?></h1>

L'équivalence Twig :

<h1>{{ name}}</h1>

Enfin, concernant la réutilisation de layout pour permettre un maximum de réutilisation entre les pages HTML est possible. Il suffit pour cela d'étendre une page via la commande "extends" et de lui injecter des données via la commande "block".

{% extends "layout.html" %}

{% block content %}
    Content of the page...
{% endblock %}

Une extension Twig à PHP a même été réalisée pour bénéficier de performances optimales.

Bref, c'est pratique, simple d'utilisation et vous gagnerez du temps à utiliser ce framework si votre projet contient de nombreuses pages. Je vous conseille donc d'aller y jeter un oeil ! ;-)

http://twig.sensiolabs.org/

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.