meta data for this page

Laravel

Blade

Ajout de directive personnalisée

Nous connaissons déjà les directives @auth, @guest, @if.

Nous souhaitons ajouter une directive @admin qui permet de savoir si un utilisateur a le rôle administrateur.

Pour ajouter des directives, il faut les déclarer dans le fichier /app/Providers/AppServiceProvider.php

use Illuminate\Support\Facades\Blade;
...
public function boot()
{
    Blade::if('admin', function () {
        return auth()->check() && auth()->user()->admin;
    });
}

Il faut ensuite effacer le cache des vues

php artisan view:clear

Dans la vue, on peut maintenant écrire

 @admin
     @include('inc.delete-button')
     @include('inc.edit-button')
 @endadmin

Ainsi seulement les administrateurs pourront voir les boutons.