Controller menghubungkan route dengan logika aplikasi. Section ini membahas pembuatan controller, pola resource controller untuk CRUD, single action controller, dependency injection, mengembalikan response berupa view, redirect, maupun JSON, hingga menjaga controller tetap ramping.
Pahami tugas controller dalam MVC dan batas tugasnya agar logika tidak menumpuk di satu tempat.
Buka → # Membuat ControllerBuat controller dengan artisan make:controller, lengkap dengan method __invoke dan method biasa.
Buka → # Resource ControllerBangun CRUD lengkap dengan make:controller --resource dan Route::resource dalam satu baris.
Buka → # Single Action ControllerGunakan controller __invoke untuk satu tugas spesifik seperti halaman ringkasan atau endpoint webhook.
Buka → # Dependency Injection di ControllerSuntikkan dependency ke method controller lewat type hint dan pahami cara container mengisinya.
Buka → # Request dan Response di ControllerTerima Request sebagai parameter method dan kembalikan response berupa view, teks, maupun header kustom.
Buka → # Redirect dan ResponseArahkan pengguna dengan redirect, flash message, dan redirect ke named route atau action.
Buka → # Response JSONKembalikan response JSON untuk AJAX dan API, lengkap dengan status code dan header.
Buka → # Organisasi ControllerKelompokkan controller per domain dengan sub-namespace dan direktori di dalam app/Http/Controllers.
Buka → # Separation of Concerns di ControllerPisahkan validasi, logika bisnis, dan response dari controller dengan form request dan service class.
Buka →