Vous avez du mal à gérer la logique d’affichage dans vos templates Laravel?
Cela peut entraîner des templates confus et difficiles à maintenir, rendant votre code inefficace.
Découvrez comment utiliser les structures de contrôle Blade pour structurer vos templates de manière claire et efficace.
Initiez-vous à Laravel et réalisez votre première application en toute confiance.

Dans Blade, le moteur de templates de Laravel, les structures de contrôle vous permettent de gérer la logique d’affichage en fonction de certaines conditions ou répétitions. Voici les principales structures de contrôle disponibles dans Blade :
Conditions Blade : @if, @elseif, @else
Les conditions sont des structures de contrôle qui permettent d’afficher un contenu en fonction d’une logique conditionnelle.
Imaginons un utilisateur qui peut avoir un rôle d’administrateur, de modérateur ou d’utilisateur standard. Selon son rôle, un message différent sera affiché.
- Syntaxe :Utilisez @if, @elseif, @else, et @endif pour implémenter cette logique.
Voici exemple :
@if ($user->isAdmin())
Bienvenue, administrateur !
@elseif ($user->isModerator())
Bienvenue, modérateur !
@else
Bienvenue, utilisateur !
@endif
Voici les détails d’explication :
- Si la condition $user->isAdmin() est vraie, le message « Bienvenue, administrateur ! » s’affiche.
- Si ce n’est pas le cas mais que $user->isModerator() est vrai, alors le message « Bienvenue, modérateur ! » est affiché.
- Si aucune de ces conditions n’est remplie, alors le message par défaut « Bienvenue, utilisateur ! » est montré.
Boucles Blade : @for, @foreach, @while
Les boucles permettent d’afficher du contenu de manière répétitive.
- @for :Utilisé pour des boucles avec des compteurs.
@for ($i = 0; $i < 5; $i++)
Compteur : {{ $i }}
@endfor
La boucle @for est utilisée pour répéter un bloc de code un nombre précis de fois, en fonction d’un compteur.
Structure | Description | Exemple |
---|---|---|
@for | Répète le bloc de code un nombre défini de fois, basé sur un compteur. | @for ($i = 0; $i < 5; $i++) Compteur : {{ $i }} @endfor |
Tableau 1 : La boucle @for
Explication :
Ici, la boucle s’exécute 5 fois, avec le compteur $i allant de 0 à 4.
- @foreach :Utilisé pour parcourir un tableau ou une collection.
@foreach ($users as $user)
Nom : {{ $user->name }}
@endforeach
Structure | Description | Exemple |
---|---|---|
@foreach | Permet de parcourir une collection d’éléments. | @foreach($users as $user) {{ $user->name }} @endforeach |
Tableau 2 : La boucle @foreach
Explication :
La boucle passe en revue chaque élément de la collection $users, et pour chaque utilisateur, le nom est affiché.
- @forelse :Affiche un contenu spécifique si le tableau ou la collection est vide.
@forelse ($posts as $post)
{{ $post->title }}
@empty
Aucun post disponible.
@endforelse
Explication :
Si $posts est vide, le message « Aucun post disponible » sera affiché.
- @while :Utilisé pour des boucles tant qu’une condition est vraie.
@while ($count < 5)
Le compteur est à {{ $count }}
@endwhile
Structures de contrôle : @break, @continue
Ces directives permettent de contrôler l’exécution d’une boucle.
@break : Permet de sortir d’une boucle.
@foreach ($numbers as $number)
@if ($number > 10)
@break
@endif
Nombre : {{ $number }}
@endforeach
@continue : Passe à l’itération suivante de la boucle.
@foreach ($numbers as $number)
@if ($number % 2 == 0)
@continue
@endif
Nombre impair : {{ $number }}
@endforeach
Inclusion conditionnelle Blade : @isset, @empty
Ces directives vérifient l’existence ou l’absence d’une variable.
- @isset :Vérifie si une variable est définie et non nulle.
@isset($user)
Utilisateur : {{ $user->name }}
@endisset
- @empty :Vérifie si une variable est vide.
@empty($records)
Aucun enregistrement trouvé.
@endempty
Commutation Blade : @switch, @case, @default
Permet de vérifier plusieurs conditions sur une même variable.
@switch($status)
@case('en attente')
Votre commande est en attente.
@break
@case('en cours')
Votre commande est en cours de traitement.
@break
@default
Statut de commande inconnu.
@endswitch
En utilisant ces structures de contrôle dans Blade, vous pouvez intégrer des logiques conditionnelles et répétitives directement dans vos templates, rendant votre code plus lisible et mieux organisé.
Structure | Description | Exemple d’utilisation |
---|---|---|
@if | Vérifie si une condition est vraie. | @if($user->isAdmin()) Bienvenue Admin @endif |
@elseif | Vérifie une autre condition si la première est fausse. | @elseif($user->isModerator()) Bienvenue Modérateur |
@else | Exécute un bloc si toutes les conditions précédentes sont fausses. | @else Bienvenue Utilisateur |
@foreach | Itère sur chaque élément d’une collection. | @foreach($users as $user) {{ $user->name }} @endforeach |
@for | Effectue une boucle pour un nombre défini d’itérations. | @for($i = 0; $i < 5; $i++) {{ $i }} @endfor |
@forelse | Itère sur une collection, et si elle est vide, exécute un bloc avec @empty. | @forelse($posts as $post) {{ $post->title }} @emptyAucun post @endforelse |
@while | Exécute une boucle tant qu’une condition est vraie. | @while($count < 5) {{ $count }} @php $count++ @endwhile |
@break | Interrompt une boucle immédiatement. | @foreach($numbers as $number) @if($number > 10) @break @endif {{ $number }} @endforeach |
@continue | Passe à l’itération suivante d’une boucle. | @foreach($numbers as $number) @if($number % 2 == 0) @continue @endif {{ $number }} @endforeach |
@isset | Vérifie si une variable est définie et non nulle. | @isset($user) {{ $user->name }} @endisset |
@empty | Vérifie si une variable est vide. | @empty($records) Aucun enregistrement @endempty |
@switch | Structure de commutation, équivalente à switch en PHP. | @switch($status) @case(‘en attente’) Commande en attente @endswitch |
@case | Déclare un cas dans une structure @switch. | @case(‘en attente’) Commande en attente @break |
@default | Déclare un cas par défaut dans une structure @switch. | @default Statut inconnu @endswitch |
Tableau3 : des principales structures de contrôle en Blade (Laravel) :
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Comment utiliser les conditions dans Blade ?
Comment fonctionnent les boucles dans Blade ?
Quelle est l'utilité de @forelse dans Blade ?
Comment gérer les inclusions conditionnelles avec Blade ?
Comment utiliser @switch et @case dans Blade ?
Conclusion
En maîtrisant les structures de contrôle Blade, vous optimisez vos templates Laravel pour une meilleure organisation et efficacité. Quelle autre fonctionnalité de Blade aimeriez-vous explorer pour améliorer vos projets Laravel?