Geeek - Le blog Geek & High-tech

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 ! ;-)

https://twig.symfony.com/


Vous êtes correctement abonné à Geeek
Bienvenue ! Vous êtes correctement connecté.
Parfait ! Vous êtes correctement inscrit.
Votre lien a expiré
Vérifiez vos emails et utiliser le lien magique pour vous connecter à ce site