Symfony Cours 4 Les TWIGs
Symfony Cours 4 Les TWIGs
Symfony Cours 4 Les TWIGs
TWIG et Webpack
Encore
AYMEN SELLAOUTI
Introduction (1)
Introduction (2)
Moteur de Template PHP.
Afficher une variable Variable : {{ MaVariable }} Pseudo : <?php echo $MaVariable; ?>
Exemple
{% set sum = 0 %}
Structure conditionnelle
if
Syntaxe :
{% if cnd %}
Block de traitement
{%endif%}
Exemple
{% if employee.salaire < 250 %}
ce salaire est inférieur au smig
{%endif%}
Structure conditionnelle
IF else elseif Exemple
Syntaxe :
{% if cnd %} {% if maison.tempertature <0%}
block traitement Très Froid
{% elseif cnd2 %} {% elseif maison.tempertature <10 %}
block traitement
Froid
{% else %}
{% else %}
block traitement
Bonne température
{% endif %}
{% endif %}
Tests
is defined l’équivalent de isset en php
Rôle vérifie l’existence d’une variable
Exemple:{% if MaVariable is defined %} J’existe {% endif%}
even odd
Rôle vérifie si la variable est pair Rôle vérifie si la variable est impair
Exemple : {% if MaVariable is even %}Pair{% endif%} Exemple : {% if MaVariable is odd%}Impair{% endif%}
Structure itérative
{% for valeur in valeurs %} Exemple
block à répéter La formation de l’équipe A est : <br>
{% else %} <ol>
Traitements à faire si il n’y {% for joueur in joueurs %}
a aucune valeur <li> {{joueur.nom}} </li>
{% endfor %} {% else %}
La liste n’a pas encore été renseignée
{% endfor %}
</ol>
Structure itérative
La boucle for définit une variable loop ayant les attributs suivants :
Variable Description
{{ 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).
Surdéfinition de blocs
Template
fils 3.1
Héritage 2 – Exemple de Template père
Exemple de Template de base
Héritage 3- Syntaxe
Afin d’hériter d’un Template père il faut étendre ce dernier avec la
syntaxe suivante :
{% extends 'TemplateDeBase' %}
Exemple :
{% extends 'base.html.twig' %}
Si le fils ne surcharge aucun des blocs et n’ajoute rien on aura le même
affichage que pour la base
Héritage 4- Le Bloc
L’élément de base de l’héritage est le bloc
Un bloc est définit comme suit : {% block nomBloc%} contenu du
bloc{%endblock%}
Pour changer le contenu de la page il faut sur-définir le bloc cible
En héritant d’une page et si vous écrivez du code à l’extérieur des
blocs vous aurez le message suivant qui est très explicite.
Héritage 5- Récupérer le contenu d’un
bloc parent
Pour récupérer le contenu d’un bloc père il suffit d’utiliser la méthode
parent()
{% block body %}
{{ dump(app) }}
{% endblock %}