Study
Laravel

Middleware di Laravel

Penjelasan

Middleware adalah lapisan kode yang dijalankan SEBELUM (atau sesudah) request sampai ke controller — dipakai untuk hal-hal seperti cek autentikasi, logging, atau membatasi akses. Dibuat lewat php artisan make:middleware, lalu dipasang lewat method ->middleware() di route.

Contoh Konsep

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;

class CekUmur
{
    public function handle(Request $request, Closure $next)
    {
        if ($request->input('umur', 0) < 18) {
            return response('Akses ditolak, umur minimal 18 tahun', 403);
        }

        return $next($request); // lanjut ke middleware berikutnya / controller
    }
}

// routes/web.php
Route::get('/dewasa', function () {
    return 'Selamat datang!';
})->middleware(CekUmur::class);

Praktikum

Buat middleware CekJamKerja yang menolak akses (response 403) kalau jam sekarang (date('H')) di luar rentang 08-17, dan meneruskan request kalau masih dalam jam kerja.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

JANGAN lupa memanggil $next($request) dan mengembalikan hasilnya di akhir middleware kalau request boleh lanjut — kalau lupa, request akan "berhenti" di situ dan controller tujuannya tidak pernah dijalankan, tanpa pesan error yang jelas.