Les middleware fournissent un mecanisme pratique pour inspecter et filtrer les requetes HTTP entrant dans votre application. Laravel inclut des middleware pour diverses taches telles que l'authentification et la protection CSRF. Ce tutoriel couvrira les bases de la creation et de l'utilisation des middleware dans Laravel 11.
Introduction aux Middleware
Les middleware peuvent etre consideres comme des couches que les requetes HTTP traversent avant d'atteindre votre application. Chaque couche peut inspecter et meme rejeter des requetes.
Definir un Middleware
Pour creer un nouveau middleware, utilisez la commande Artisan make:middleware :
php artisan make:middleware EnsureTokenIsValidCette commande cree une nouvelle classe EnsureTokenIsValid dans le repertoire app/Http/Middleware. Voici un exemple de middleware qui verifie un jeton valide :
namespace App\Http\Middleware;
use Closure;
class EnsureTokenIsValid
{
public function handle($request, Closure $next)
{
if ($request->input('token') !== 'my-secret-token') {
return redirect('home');
}
return $next($request);
}
}Enregistrer un Middleware
Pour enregistrer votre middleware, ajoutez-le au fichier app/Http/Kernel.php. Vous pouvez enregistrer un middleware comme global, groupe ou middleware de route.
Middleware Global
Le middleware global s'execute sur chaque requete HTTP vers votre application :
protected $middleware = [
\App\Http\Middleware\EnsureTokenIsValid::class,
// Autres middleware
];Assigner un Middleware aux Routes
Vous pouvez egalement assigner un middleware a des routes specifiques dans votre fichier routes/web.php :
use App\Http\Middleware\EnsureTokenIsValid;
Route::get('/profile', function () {
// Votre code ici
})->middleware(EnsureTokenIsValid::class);Groupes de Middleware
Parfois, vous pouvez vouloir regrouper plusieurs middleware sous une seule cle pour les rendre plus faciles a assigner aux routes. Voici comment definir des groupes de middleware :
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// Autres middleware
],
'api' => [
'throttle:api',
'bindings',
],
];En savoir plus sur les middleware Laravel dans la documentation officielle de Laravel.
Conclusion
Les middleware sont un outil puissant pour filtrer les requetes HTTP dans les applications Laravel. Ce tutoriel a couvert comment creer, enregistrer et utiliser des middleware dans Laravel 11. Pour des informations plus detaillees, consultez la documentation officielle de Laravel.
Bon codage avec Laravel 11 !