Syntaxe
{{ … }} {# affiche quelque chose #}
{% … %} {# fait quelque chose #}
{# … #} {# Commentaires, qui peuvent être sur plusieurs lignes #}
{{ pseudo }} {# Afficher une variable #}
{{ user.id }} {# Afficher l'attribut d'un objet #}
{{ user['id'] }} {# Afficher l'index d'un tableau #}
{{ news.texte|striptags|title }} {# Afficher une variable en combinant les filtres #}
{{ date|date('d/m/Y') }} {# Utiliser un filtre avec des arguments #}
{{ nom ~ " " ~ prenom }} {# Concaténer #}
Variable globale {{ app }}
{{ app.request }} {# requête « request » #}
{{ app.session }} {# service « session » #}
{{ app.environment }} {# environnement courant : « dev », « prod » #}
{{ app.debug }} {# True si le mode debug est activé, False sinon #}
{{ app.user }} {# utilisateur courant #}
Les structures de contrôle
{% if %}
{% if membre.age < 12 %}
Il faut avoir au moins 12 ans pour ce film.
{% elseif membre.age < 18 %}
OK bon film.
{% else %}
Un peu vieux pour voir ce film non ?
{% endif %}
{% for %}
{% for membre in liste_membres %}
{{ membre.pseudo }}
{% else %}
Pas d'utilisateur trouvé.
{% endfor %}
{% for valeur, option in liste_options %}
{{ option }}
{% endfor %}
{% for %} définit une variable {{ loop }} au sein de la boucle
{{ loop.index }} Le numéro de l'itération courante (en commençant par 1). #}
{{ loop.index0 }} {# Le numéro de l'itération courante (en commençant par 0). #}
{{ loop.revindex }} {# Le nombre d'itérations restantes avant la fin de la boucle (en finissant par 1). #}
{{ loop.revindex0 }} {# Le nombre d'itérations restantes avant la fin de la boucle (en finissant par 0). #}
{{ loop.first }} {# true si c'est la première itération, false sinon. #}
{{ loop.last }} {# true si c'est la dernière itération, false sinon. #}
{{ loop.length }} {# Le nombre total d'itérations dans la boucle. #}