Ceci est une ancienne révision du document !
Templates
Le moteur de templates est responsable de l'affichage des vues. Il est conseillé d'utiliser Twig, plutôt que PHP, comme moteur de templates.
Installation
composer require twig
Éléments syntaxiques
Twig utilise 3 types de tags :
| {{ ... }} | “affiche quelque chose” équivalent du echo de php : affiche une variable ou le résultat d'une expression. |
|---|---|
| {% ... %} | “Fait quelque chose”: tag agissant sur la logique du template ; il est utilisé par exemple pour faire des itérations, ou des contrôles. |
| {# ... #} | “Commente quelque chose”: équivalent du PHP /* comment */. Il est utilisé pour ajouter des commentaires sur 1 ou plusieurs lignes. Le commentaire ne sera pas présent dans la page réponse. |
Twig contient aussi des filtres (filters), qui permettent de modifier le contenu affiché.
L'appel suivant affiche la variable title en majuscules :
{{ title|upper }}
Tags
La liste compléte des tags est fournie dans la documentation twig
if
Permet de poser une condition, comme en php
{% if online == false %}
<p>Our website is in maintenance mode. Please, come back later.</p>
{% endif %}
and
{% if temperature > 18 and temperature < 27 %}
<p>It's a nice day for a walk in the park.</p>
{% endif %}
not
{% if not user.subscribed %}
<p>You are not subscribed to our mailing list.</p>
{% endif %}
else
{% if kenny.sick %}
Kenny is sick.
{% elseif kenny.dead %}
You killed Kenny! You bastard!!!
{% else %}
Kenny looks okay --- so far
{% endif %}
for
Equivalent du foreach php :
<h1>Members</h1>
<ul>
{% for user in users %}
<li>{{ user.username|e }}</li>
{% endfor %}
</ul>