Middleware di Laravel: Panduan Lengkap

Middleware Laravel - ulin00

Apa Itu Middleware?

Middleware adalah lapisan pemrosesan request sebelum mencapai controller dalam Laravel. Middleware digunakan untuk melakukan filter, autentikasi, atau modifikasi request dan response.

Mengapa Middleware Penting?

Middleware memungkinkan kita untuk mengontrol alur request dan menambahkan fitur keamanan seperti autentikasi, logging, dan validasi sebelum masuk ke controller.

Bagaimana Middleware Bekerja di Laravel?

Saat request masuk ke aplikasi Laravel, request tersebut diproses oleh middleware sebelum dikirim ke controller yang sesuai.

Membuat Middleware di Laravel

Membuat Middleware dengan Artisan Command

Buat middleware baru menggunakan perintah:

php artisan make:middleware CekAdmin

Struktur Middleware di Laravel

Middleware yang dibuat akan berada di folder app/Http/Middleware/.

Contoh Middleware Sederhana

Berikut contoh middleware yang hanya mengizinkan akses jika user adalah admin:

public function handle($request, Closure $next)
{
    if (auth()->user() && auth()->user()->role !== 'admin') {
        return redirect('/home');
    }
    return $next($request);
}

Menggunakan Middleware dalam Aplikasi

Mendaftarkan Middleware di Kernel

Tambahkan middleware ke app/Http/Kernel.php:

protected $routeMiddleware = [
    'admin' => \App\Http\Middleware\CekAdmin::class,
];

Middleware Global vs Middleware Route

  • Global Middleware: Dijalankan di semua request
  • Route Middleware: Hanya diterapkan pada route tertentu

Middleware dengan Parameter

Middleware bisa menerima parameter:

Route::get('/dashboard', 'DashboardController@index')->middleware('role:admin');

Middleware Bawaan di Laravel

Authentication Middleware

Digunakan untuk memastikan user telah login:

Route::get('/profile', 'UserController@profile')->middleware('auth');

Middleware Throttle untuk Rate Limiting

Digunakan untuk membatasi jumlah request:

Route::middleware('throttle:60,1')->get('/api/data', 'ApiController@index');

Middleware CORS untuk API

Digunakan untuk mengizinkan akses lintas domain pada API.

Advanced Middleware di Laravel

Middleware untuk Manipulasi Response

Middleware juga bisa mengubah response sebelum dikirim ke client.

Middleware dengan Dependency Injection

Middleware bisa menerima service dari Laravel Container:

Baca Juga: loading
public function __construct(Logger $logger)
{
    $this->logger = $logger;
}

Middleware untuk Logging dan Debugging

Kita bisa menggunakan middleware untuk mencatat log request dan response.

Kesimpulan

Middleware di Laravel sangat penting untuk mengelola request dan memastikan keamanan aplikasi. Dengan memahami konsep middleware, kita bisa membangun aplikasi yang lebih aman dan efisien.

FAQ

1. Apa itu Middleware di Laravel?

Middleware adalah lapisan filter request sebelum masuk ke controller.

2. Bagaimana cara membuat middleware di Laravel?

Gunakan perintah php artisan make:middleware NamaMiddleware.

3. Apa perbedaan Middleware Global dan Middleware Route?

Middleware Global berjalan di semua request, sedangkan Middleware Route hanya diterapkan pada route tertentu.

4. Bagaimana cara menambahkan Middleware ke route?

Gunakan ->middleware('nama_middleware') saat mendefinisikan route.

5. Apakah Middleware bisa mengubah response?

Ya, Middleware bisa memodifikasi response sebelum dikirim ke client.

Itulah panduan lengkap Middleware di Laravel! 🚀

Muhammad Ulin Nuha
Muhammad Ulin Nuha PEEKCODE CHANNEL YOUTUBE Developer Android | Networking | Konten Creator peekcode YT | Galery | Pecinta Sholawat |

Posting Komentar