Rappel : Bien penser à mettre .blade dans l'extension du fichier. (ex: index.blade.php)
Les balises PHP traditionnelles sont changées dans Blade.
<?php ?> se transforme en : {{ }}
Avec Blade on a la possibilité liées deux vues entres elles. Comme par exemple, le header/footer avec le body.
<body> @yield('content') </body>
Le mot-clé “@yield” va ici appeler la section content.
@extends('template') @section('content') //Code @endsection
Le mot-clé “@extends” indique que la page actuelle est une extension appelée dans la vue contenant le @yield. (La vue comprise dans les parenthèses du “@yield”). Cela permet d'éviter de réécrire le header et le footer sur chaque page du site.
@if (condition) // faire quelque chose @else // faire autre chose @endif
@if (condition) // faire quelque chose @elseif (condition 2) // faire autre chose @elseif (condition 3) // faire autre chose @else // faire autre chose si toutes les conditions sont fausses @endif
Voici les différentes boucles proposées par blade :
@foreach ($collection as $variable) // faire quelque chose @endforeach
@forelse ($collection as $variable) // faire quelque chose @empty // faire autre chose si la collection est vide @endforelse
@while (condition) // faire quelque chose @endwhile
Lors de l'utilisation d'un formulaire, il est important de sécuriser l'envoi des données. Afin d'éviter que une personne ajoute des données a notre base de données factices (ou suppression, ou modification).
Pour cela il existe “@csrf”(Cross-site request forgery) qui est un jeton d'authentification (ou token en Anglais) proposé par Blade. Si il n'est pas présent dans le formulaire, le code de ce dernier ne s’exécutera pas.
Il existe différentes façons de générer un formulaire.
<form action="{{action('MagazineController@destroy', $donnees['id'])}}" method="post"> @csrf <input name="_method" type="hidden" value="DELETE"> <button class="btn btn-danger">Supprimer</button> </form>
Cette méthode nécessite l'installation du package laravelcollective.
{!! Form::model(['action' => 'MagazineController@destroy', $donnees->id]) !!} {!! Form::submit('Supprimer') !!} {!! Form::close() !!}
Le jeton CSRF est généré automatiquement dans cette méthode.
Blade propose sa propre définition des commentaires dans une vue.
{{-- Commentaire --}}
Contrairement aux commentaires HTML, ce commentaire n’apparaîtra pas dans le code source de votre page.