1. Latar Belakang
Pada artikel sebelumnya, kita menuliskan logika tampilan langsung di dalam file routes/web.php. Untuk proyek kecil, hal ini mungkin berhasil. Namun, bayangkan jika blog kamu memiliki ratusan fitur; file tersebut akan menjadi sangat panjang dan sulit dikelola. Dalam standar industri, kita harus memisahkan antara Alamat URL (Route) dan Logika Bisnis (Controller) agar kode lebih terstruktur dan mudah dirawat (maintainable).
2. Konsep Pembahasan
Fokus utama kita kali ini adalah:
Memahami peran Controller sebagai "otak" di balik setiap halaman, yang artinya yang mengontol.
Memisahkan tanggung jawab antara file rute dan logika aplikasi.
Praktek membuat Controller pertama dan menghubungkannya dengan Route.
3. Pengertian Route & Controller
Route: Adalah alamat atau pintu masuk ke aplikasi kita (misalnya:
/blog,/kontak).Controller: Adalah kelas PHP yang mengelompokkan logika penanganan permintaan (request) dari rute-rute yang berkaitan.
Analogi Sederhana: Sistem Restoran
Jika Laravel adalah restoran:
Route adalah Buku Menu. Pelanggan menunjuk menu "Nasi Goreng" (URL /nasi-goreng).
Controller adalah Pelayan (Waiter). Pelayan melihat pesanan di menu, lalu dia tahu harus pergi ke dapur mana dan memberikan apa kepada pelanggan. Tanpa pelayan, pelanggan harus masuk sendiri ke dapur (logika berantakan).
A. Membuat Controller
Kita akan membuat sebuah Controller bernama BlogController. Buka terminal di folder proyek kamu, lalu jalankan perintah:
Route Parameter
Kamu juga bisa membuat rute dinamis, misalnya untuk halaman detail artikel:
B. Menulis Logika di Controller
Buka file BlogController.php tersebut, lalu tambahkan sebuah fungsi (method) bernama index:
C. Menghubungkan Route ke Controller
Sekarang, buka kembali file routes/web.php. Kita akan menghapus logika fungsi lama dan mengarahkannya ke BlogController.
D. Menyiapkan Tampilan (View)
Buat folder baru bernama blog di dalam resources/views/, lalu buat file index.blade.php di dalamnya. Masukkan kode berikut:
E. Verifikasi Hasil
1. Pastikan server masih jalan (
2. Buka browser dan akses
3. Kamu akan melihat tulisan "Daftar Artikel Blog Terbaru" yang dikirim langsung dari Controller.
5. Kesimpulan
Dengan memindahkan logika ke Controller, file web.php kita sekarang hanya bertugas sebagai daftar isi saja. Hal ini membuat aplikasi kita mengikuti pola Clean Code. Kita telah berhasil memisahkan "Siapa yang memesan" (Route) dan "Siapa yang melayani" (Controller).
6. Daftar Pustaka & Referensi
Referensi Video (YouTube):
1.Iqbalroni Laravel 12 Tutorial #3: Pahami Routing https://youtu.be/fNUePf-EyuA?si=n2ktC5qFZm9xU1X4
2. Kura-kura Digital - "Memahami Route dan Controller Laravel"
Referensi AI:
1. Gemini AI (Google): Materi ini disusun untuk memberikan transisi yang halus dari sistem routing fungsional ke sistem berbasis Controller yang sesuai dengan standar Best Practice Laravel 12.
