Membuat Middleware di Laravel 11

Beranda » PHP » Laravel » Membuat Middleware di Laravel 11
configurasi middleware di app.php
app.php

Middleware menyediakan mekanisme yang mudah untuk melakukan filter terhadap request yang masuk ke aplikasi kita. Dalam artikel kali ini kita akan coba membuat middleware, meregistrasikan middleware yang telah dibuat, kemudian menggunakan middleware yang kita buat di route tertentu.

Membuat middleware

Untuk membuat sebuah middleware dapat dilakukan dengan mengetikan perintah betikut di command line / terminal.

php artisan make:middleware InfoMiddleware

Dalam artikel kali ini kita tidak akan membuat middleware yang susah-susah jadi cukup tambahkan dd saja di middleware untuk output yang menandakan middleware kita berhasil dipanggil nantinya.

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;

class InfoMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response)  $next
     */
    public function handle(Request $request, Closure $next): Response
    {
        dd('request masuk ke info middleware');
        return $next($request);
    }
}

Registrasi Middleware

Setelah middleware dibuat, middleware tersebut tidak akan serta-merta dapat digunakan. middleware yang telah kita buat perlu di registrasikan. Untuk meregistrasikan middleware baru kita dapat menambahkan middleware tersebut di app.php dengan menggunakan alias seperti berikut.

<?php

use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;

return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__.'/../routes/web.php',
        commands: __DIR__.'/../routes/console.php',
        health: '/up',
    )
    ->withMiddleware(function (Middleware $middleware) {
        $middleware->alias([
            'info' => App\Http\Middleware\InfoMiddleware::class
        ]);
    })
    ->withExceptions(function (Exceptions $exceptions) {
        //
    })->create();

Menambahkan Middleware ke Route

Setelah di registrasikan, kita tinggal memanggil middleware yang telah kita buat di route yang kita inginkan dengan alias yang sama seperti di app.php . contoh :

<?php

use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return view('welcome');
})->middleware('info');

setelah itu kita coba akses route yang sudah kita tambahkan middleware tadi. Jika middleware berhasil terpanggil maka akan muncul dd yang telah kita tuliskan tadi.

hasil output setelah middleware ditambahkan
hasil setelah di tambahkan middleware

Kategori : Laravel, PHP
Oleh : budiyono, diterbitkan : disunting :