BLADE

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.


  • La condition IF
@if (condition)
    // faire quelque chose
@else
    // faire autre chose
@endif
  • La condition ELSEIF
@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 :

  • La boucle FOREACH
@foreach ($collection as $variable)
    // faire quelque chose
@endforeach
  • La boucle FORELSE
@forelse ($collection as $variable)
    // faire quelque chose
@empty
    // faire autre chose si la collection est vide
@endforelse
  • La boucle WHILE
@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.


Première méthode

<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>

Deuxième méthode

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.