4. CONTROLLER
Betugas untuk memproses semua request, baik itu berupa
logic, database atau view
Controller dapat mengelompokkan beberapa request terkait
ke dalam satu class
Terletak di folder app/Http/Controller
7. NAMESPACE
Jika ada pengelompokan controller lebih dalam untuk
diletakkan pada sub folder di folder app/HTTP/Controller, maka
penulisan class controller harus ditulis lebih spesifik
Contoh
Route::get(‘url’,’subfoldercontroller@method’);
8. SINGLE ACTION CONTROLLER
Jika hanya dibuat satu action saja
pada controller, maka hanya
digunakan method __invoke pada
controller
Route::get('test/{id}','testControl
ler');
9. MENGAKSES FUNGSI BERBEDA
Method this ini menandakan kita akan memanggil fungsi yang ada
di dalam satu controller yang sama
Fungsi yang tidak melakukan return value
$this->nama_fungsi();
Fungsi yang melakukan return value perlu mendefinisikan suatu
variabel sebelum memanggil fungsi tersebut untuk tempat
menyimapan return value dari fungsi yang diakses
$var = $this->nama_fungsi();
10.
11. RESOURCE CONTROLLER
Fitur laravel yang memudahkan dalam membuat route untuk
CRUD pada controller dengan perintah satu baris
Misalkan membuat sebuah controller untuk menangani
request yang berhubungan dengan penyimpanan “Foto” di
aplikasi
12. RESOURCE CONTROLLER
Buat resource controller
php artisan make:controller NamaController --resource
Membuat resource controller secara otomatis
13.
14. METHOD RESOURCE
index() digunakan untuk menampilakan data awal
create() digunakan untuk menampilkan form tambah
store() digunakan untuk proses penyimpanan data
edit() yang digunakan untuk menampilkan form edit
update() juga digunakan untuk proses pembaruan data
show() digunakan untuk menampilkan data detail
destroy() digunakan untuk menghapus data dari database
18. PARTIAL RESOURCE
Memilih method apa saja yang akan digunakan atau tidak akan
digunakan
Route::resource(‘photos', ‘PhotoController', [
'only' => ['create', 'store', 'show']
]);
Membutuhkan method tertentu saja
20. NAMING RESOURCE ROUTES
Secara default semua resource controller mempunyai nama, jika
ingin melakukan perubahan dapat melakukan override dengan
menggunakan names
Route::resource(‘photos', ‘PhotosController', [
‘names’ => [‘create' => ‘photos.build‘]
]);
24. LATIHAN
Dengan menggunakan konsep MVC, buatlah sebuah controller
yang dapat menampilkan data produk dimana data yang
diambil dari sebuah fungsi di class yang sama