Laravel: les middlewares
Laravel: les middlewares
-
Objectifs
- Connaitre les middlewares Laravel
-
Qu’est ce qu’un middleware ?
- Un middleware est un logiciel qui fournit aux applications des fonctionnalités et des services communs.
- La gestion des données, les services d’application, la messagerie, l’authentification et la gestion des API sont des services communément gérés par les solutions de middleware.
- Un Middleware est une mini-application, une étape intermédiaire qui va envelopper les actions gérées par notre controller. Elle est une sorte de sous-couche se plaçant entre la requête (request) et la réponse (response) entre la vue et le controller.
- Un middleware est une fonction qui s’interpose entre l’appel de la route et l’exécution du code qui est appelé par cette route.
- Pour schématiser en reprenant le graphique de l’architecture MVC cela donnerait quelque chose comme ça :
-
Cycle de vie de l’application
- Un processus invisible, mais complexe, se met en marche chaque fois qu’une requête est effectuée sur une application Laravel, par exemple lorsqu’un visiteur se rend sur une page.
- La requête traverse en effet une succession de couches avant d’arriver jusqu’à l’application elle-même. Il en est de même pour la réponse, qui à son tour devra tracer son chemin jusqu’au navigateur du client.
- Dans un scénario classique, un client va tout d’abord effectuer une requête dans son navigateur. Il peut avoir saisi une URL ou cliqué sur un lien de l’application.
- La requête est envoyée depuis le navigateur vers le serveur qui a été configuré pour cette application. Dans le contexte d’une application Laravel, la configuration du serveur indique qu’il faut envoyer toutes les requêtes sur la page public/index.php qui a la charge d’initialiser le framework.
-
Middlewares par défaut
- Laravel est installé avec quelques middlewares déjà présents, ces Middlewares se situent dans app/Http/Middleware.
On trouve notamment : Authenticate.php
: Afin de vous permettre de définir aisément si une méthode doit être exécutée, si la personne est authentifiée ou non sur notre site web. Il renvoie une erreur 401 si la requête ne contient pas d’autorisationEncryptCookies.php
: Encrypte les cookiesPreventRequestsDuringMaintenance.php
: représente un système de mode de maintenance afin de faire vos tambouilles tranquillement etc… 😉RedirectIfAuthenticated.php
: Redirige sur la route définie comme Home si la requête est un utilisateur connectéTrimStrings.php
: Trim chaque champ du body de la requêteTrustHosts.php
:TrustProxies.php
: Liste des proxies qui envoie les requêtes à votre serverVerifyCsrfToken
: Vérifie le token Csrf fournit par la requête, c’est une vérification des tokens CSRF pour les envois de formulaire- https://www.nicolaskempf.fr/laravel-les-middlewares
- https://walkerspider.com/cours/laravel/middlewares
- https://www.marieemmanuellehamon.fr/blog/comprendre-laravel-5-4-les-middlewares
L’une des premières étapes de cette initialisation est d’inclure et exécuter le fichier autoload.php de Composer. Ce fichier a pour mission de préparer le chargement des classes à la volée, sans avoir à passer par l’utilisation de l’instruction PHP require. C’est grâce à ce système que les classes sont accessibles automatiquement quand on y fait appel, n’importe où dans l’application. …
Source: