LaravelApril 5, 2026

Laravel Middleware: Complete Guide with Examples

A comprehensive guide to Laravel middleware for filtering HTTP requests.

Laravel Middleware: Complete Guide with Examples

Middleware provides a convenient mechanism for filtering HTTP requests entering your application. Let’s explore everything about Laravel middleware.

Creating Middleware

bash
php artisan make:middleware EnsureUserIsAdmin
php
class EnsureUserIsAdmin
{
    public function handle(Request $request, Closure $next): Response
    {
        if (! $request->user()?->isAdmin()) {
            return redirect('home');
        }

        return $next($request);
    }
}

Before & After Middleware

Before Middleware

php
public function handle($request, Closure $next)
{
    // Perform action before request is handled
    return $next($request);
}

After Middleware

php
public function handle($request, Closure $next)
{
    $response = $next($request);
    // Perform action after request is handled
    return $response;
}

Middleware Groups

Group middleware for web and API routes in your bootstrap/app.php:

php
->withMiddleware(function (Middleware $middleware) {
    $middleware->web(append: [
        MyCustomMiddleware::class,
    ]);
})