![]() |
| Cara Menggunakan Controller dan Middleware di Laravel |
Dalam Laravel, controller dan middleware adalah dua komponen utama yang membantu mengelola alur aplikasi. Controller bertugas menangani logika aplikasi, sementara middleware digunakan untuk memfilter request sebelum mencapai controller. Artikel ini akan memandu Anda langkah demi langkah memahami controller dan middleware Laravel, sangat cocok untuk Anda yang sedang belajar Laravel dasar.
1. Apa Itu Controller di Laravel?
Controller adalah class yang berisi kumpulan fungsi untuk menangani request dari user. File controller biasanya berada di folder app/Http/Controllers.
Membuat Controller
Gunakan perintah artisan berikut:
php artisan make:controller ProdukController
Contoh isi dari ProdukController:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ProdukController extends Controller
{
public function index()
{
return "Ini adalah daftar produk.";
}
}
Menghubungkan Route ke Controller
Edit file routes/web.php:
use App\Http\Controllers\ProdukController;
Route::get('/produk', [ProdukController::class, 'index']);
2. Apa Itu Middleware di Laravel?
Middleware bekerja sebagai lapisan filter sebelum request diteruskan ke controller. Misalnya, autentikasi, logging, atau memeriksa role user.
Contoh Middleware Bawaan
Laravel sudah menyediakan middleware bawaan seperti:
-
auth: Mengecek apakah user sudah login -
guest: Mengecek apakah user belum login
Menambahkan Middleware pada Route
Route::get('/dashboard', function () {
return "Selamat datang di dashboard!";
})->middleware('auth');
3. Membuat Middleware Sendiri
Gunakan perintah:
php artisan make:middleware CekUsia
Contoh isi middleware:
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class CekUsia
{
public function handle(Request $request, Closure $next)
{
if ($request->umur <= 17) {
return redirect('/tidak-diizinkan');
}
return $next($request);
}
}
Daftarkan middleware di app/Http/Kernel.php:
protected $routeMiddleware = [
'cek.usia' => \App\Http\Middleware\CekUsia::class,
];
Gunakan di route:
Route::get('/dewasa', function () {
return "Konten untuk 18+";
})->middleware('cek.usia');
Kesimpulan
Controller dan middleware di Laravel sangat penting untuk menjaga alur dan keamanan aplikasi. Dengan mempelajari dasar penggunaannya, Anda bisa membangun aplikasi Laravel yang lebih rapi, aman, dan terstruktur. Terus eksplorasi dan semangat belajar Laravel! 🚀

Komentar
Posting Komentar