Laravel #10- Les middleware

Edité le 15/08/2020

Avant tout qu'est ce qu'un middleware ? C'est simplement une ou plusieurs actions qui vont être exécutées avant d'accéder à la page.

Selon moi, le middleware le plus connu est celui de vérification de la connexion d'un utilisateur. En cas inverse, si l'utilisateur n'est pas connecté, je le redirige par exemple sur le page de connexion.


Comment mettre en place un middleware ?

Pour commencer à créer un middleware, il suffit de faire :

php artisan make:middleware NameMiddleware


Pour la démonstration, nous allons lancer la commande :

php artisan make:middleware Connect

On peut retrouver ce fichier dans App\Http\Middleware\Connect.php.


Comment développer le middleware ?

Pour développer le middleware, il faut le faire dans la fonction handle :

public function handle($request, Closure $next)
{
    return $next($request);
}

Dans cette fonction, une fois que tout les tests sont passés, le return $next va permettre de continuer le chargement de la route.


Si je souhaite vérifier que l'utilisateur est connecté, et en cas d’échec le rediriger, je vais procéder de la manière suivante :

public function handle($request, Closure $next)
{
    if (!Auth::check()) {
        return redirect('/login');
    }
    return $next($request)
}


Enregistrer le middleware

Rendez-vous dans la page App\Http\Kernel.php.

Ensuite enregistré le dans le $routeMiddleware :

protected $routeMiddleware = [
    'connect' => \App\Http\Middleware\Connect::class,
]



Utiliser le middleware

Pour appeler le middleware avant le chargement d'une page, il suffit de l'appeler dans le fichier routes/web.php :

Route::group(['middleware' => ['connect']], function () {
    Route::get('/', 'HomeController@home');
});


Le nom du middleware a utilisé est celui déclaré entre guillemets dans le Kernel.

De cette manière, toutes les routes déclaré dans le groupe vont d'abord appeler le middleware avant de ce charger !


Voilà, c'est aussi simple que ça !

Rendez-vous dans le prochain et dernier tutoriel où nous verrons les relations avec les models 

Cet article a été vu 312 fois
Laisser un commentaire:
Laissez le premier commentaire..
Laravel Débutant

Laravel est un framework web open-source écrit en PHP respectant le principe modèle-vue-contrôleur et entièrement développé en programmation orientée objet. Laravel est distribué sous licence MIT, avec ses sources hébergées sur GitHub. En peu de temps, une communauté d'utilisateurs du framework s'est constituée, et il est devenu en 2016 le projet PHP le mieux noté de GitHub. Laravel reste pourtant basé sur son grand frère Symfony, pour au moins 30 % de ses lignes (utilisation de "Symfony component").

# # # # # # # #