Menggunakan Middleware


Pendahuluan

Middleware adalah sebuah fitur yang sangat berguna di Laravel yang berfungsi sebagai lapisan antara permintaan HTTP yang masuk dan respons yang dikirim ke pengguna. Middleware dapat digunakan untuk berbagai keperluan seperti autentikasi, logging, dan pemfilteran permintaan.

1. Membuat Middleware

Untuk membuat middleware baru, Anda dapat menggunakan Artisan command berikut:

php artisan make:middleware CheckAge

Perintah di atas akan membuat file middleware baru di direktori app/Http/Middleware.

2. Menambahkan Logika ke Middleware

Setelah middleware dibuat, buka file CheckAge.php yang berada di app/Http/Middleware dan tambahkan logika sesuai kebutuhan. Contohnya, middleware ini akan memeriksa usia pengguna.

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;

class CheckAge
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        if ($request->age < 18) {
            return redirect('home');
        }

        return $next($request);
    }
}

3. Mendaftarkan Middleware

Setelah menambahkan logika, selanjutnya Anda perlu mendaftarkan middleware tersebut. Buka file app/Http/Kernel.php dan tambahkan middleware ke dalam array $routeMiddleware.

protected $routeMiddleware = [
    // middleware lainnya
    'checkAge' => \App\Http\Middleware\CheckAge::class,
];

4. Menggunakan Middleware pada Routes

Dengan middleware yang sudah terdaftar, Anda dapat menggunakannya pada route. Berikut adalah contohnya:

Route::get('/profile', function () {
    return 'Welcome to your profile!';
})->middleware('checkAge');

5. Menggunakan Middleware Secara Global

Jika Anda ingin middleware diterapkan ke semua rute, Anda bisa menambahkannya ke dalam array $middleware pada app/Http/Kernel.php.

protected $middleware = [
    // middleware global lainnya
    \App\Http\Middleware\CheckAge::class,
];

6. Testing Middleware

Setelah semua langkah di atas selesai, Anda bisa melakukan testing menggunakan Postman atau alat lainnya untuk memastikan middleware berfungsi sesuai harapan. Kirimkan permintaan bundel dengan parameter umur dan lihat apakah Anda dialihkan dengan benar.

Kesimpulan

Middleware di Laravel adalah cara yang sangat efisien untuk memfilter permintaan HTTP berdasarkan logika tertentu. Dengan tutorial ini, Anda sekarang memiliki pemahaman yang lebih baik tentang cara membuat, mendaftarkan, dan menggunakan middleware dalam aplikasi Laravel Anda.

Semoga tutorial ini bermanfaat!


Referensi

Untuk dokumentasi lebih lanjut tentang middleware di Laravel, Anda bisa mengunjungi dokumentasi resmi Laravel.