Utilisation des structures de contrôle dans les vues Twig de Symfony
Utilisation des structures de contrôle dans les vues Twig de Symfony
-
Objectifs
- Connaitre les structures de contrôle
- Etre capable de travailler avec les structures de contrôle
-
Présentation
- Les boucles sont l’un des composants les plus importants de PHP et de nombreux autres langages de programmation . Ils vous aident à effectuer des tâches répétitives assez facilement sans écrire de morceau de code supplémentaire.
- Les modèles de Blade Laravel permettent de travailler particulièrement facilement avec ce type même de structure de contrôle en PHP. De même, les boucles de Laravel fonctionnent de la même manière que celles trouvées en PHP.
- Il existe en fait quatre principaux types de boucles dans Laravel qui sont la boucle
for
, la boucleforeach
, la boucleforelse
et la bouclewhile
.
-
La boucle for
-
Syntaxe
-
La boucle foreach
- Twig utilise la structure de contrôle `for` pour les itérations sur des tableaux ou des objets, similaire à la boucle foreach en PHP.
- La directive `for` est également équipée d’une variable `loop` qui fournit des informations sur l’itération en cours.
-
Syntaxe
-
Sauter l’itération en cours
- Il est possible de sauter une itération ou de terminer la boucle prématurément en utilisant les instructions `continue` et `break`.
- {{ user.name }} {% if user.number == 5 %} {% break %} {% endif %} {% endfor %}
-
$loop dans @foreach
- Twig fournit une variable `loop` avec des propriétés similaires à celles de Blade.
-
La boucle forelse
-
Syntaxe
- {{ user.name }} {% empty %}
-
La boucle while
-
Syntaxe
{% for i in 0..9 %}
La valeur actuelle est {{ i }}
{% endfor %}
{% for user in users %}
This is user {{ user.id }}
{% endfor %}
{% for user in users %}
{% if user.type == 1 %}
{% continue %}
{% endif %}
{% for user in users %}
{% if loop.first %}
Ceci est la première itération.
{% endif %}
{% if loop.last %}
Ceci est la dernière itération.
{% endif %}
C'est user {{ user.id }}
{% endfor %}
{% for user in users %}
Aucun utilisateur
{% endfor %}
{% set i = 0 %}
{% while i < 10 %}
I'm looping forever.
{% set i = i + 1 %}
{% endwhile %}