À propos de ce tutoriel
Twig est le moteur de template PHP utilisé par Symfony mais il est tout à fait possible de l'utiliser en dehors du Framework pour l'intégrer dans son propre code (avec ou sans framework).
Un moteur de template en PHP ?
PHP peut être considéré comme un moteur de template (il est possible de mélanger du PHP avec du code HTML par exemple) mais il reste très verbeux et peu pratique pour certaines tâches.
<?php ob_start(); ?>
<h1>Bienvenue</h1>
<p>Bienvenue sur mon site <?= isset($person['name']) ? htmlentities($person['name']) : '' ?></p>
<?= markdown($person['bio']) %>
<?php
$content = ob_get_clean();
require 'layout.php';
?>
Ce code est difficilement lisible et peut rapidement être "cassé" par une personne qui n'est pas forcément à l'aise avec PHP.
{% extends 'layout.twig' %}
{% block content %}
<h1>Bienvenue</h1>
<p>Bienvenue sur mon site {{ person.name }}</p>
{{ person.bio | markdown }}
{% endblock %}
Pour découvrir Twig et son fonctionnement le mieux est de se rendre sur la documentation.