Basic Controller dan View Pada Laravel
Setelah mempelajari routing laravel pada modul sebelumnya. Selanjutnya bagaimana memahami cara kerja controllers dan views di Framework Laravel. Sebelumnya kita harus tahu konsep MVC.
MVC merupakan kependekan dari Model, View, Controller. MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti, manipulasi data, user interface dan bagian yang menjadi control aplikasi. Komponen-komponen MVC meliputi :
- Model, digunakan untuk query atau proses mengambil data dari database.
- View, digunakan untuk tampilan user berupa html, css, js, dan data yang bersifat client.
- Controller, digunakan untuk mengatur atau menjembatani antara model dan view juga bisa digunakan untuk mengatur alur program.
Disini yang akan dibahas hanya Controller dan View saja. Mari langsung saja ke pembahasan dibawah ini.
BASIC CONTROLLER (DASAR CONTROLLER)
Dasar controller ini adalah bagaimana cara dasar untuk dapat menjalankan controller tersebut dengan bantuan route.
Masih ingat dengan code dibawah ini?
Code diatas merupakan code dasar routing pada laravel yang terletak pada file routes.php. Jika didalam fungsi Route::get('/',function() ini terdapat banyak baris, puluhan sampai ratusan baris, tentu tidak akan efisien, ditambah lagi banyak fungsi-fungsi lainnya. Maka dari itu controller ini berfungsi untuk memecah syntax, bagaimana caranya agar fungsi-fungsi yang puluhan bahkan ratusan itu kita pindah ke controller.
Code diatas bisa diganti dengan code berikut :
Route::get adalah method yang digunakan untuk menampilkan view maupun data.
Tanda '/', menunjukkan route yang didefinisikan atau dibuat untuk route utama atau halaman utama.
ProfileController, adalah nama file ataupun class controller.
index, adalah method atau fungsi yang berada di controller.
Kemudian buat file baru dengan nama file ProfileController.php dan simpan di App/Http/Controllers. Lalu tambahkan code berikut :
Hasilnya :
Contoh Basic Controller Menggunakan Compact
Tambahkan/tulis syntax berikut pada web.php
Route::get adalah method yang digunakan untuk menampilkan view maupun data.
Tanda '/nama-ku', menunjukkan route yang didefinisikan atau dibuat untuk route utama atau halaman utama.
ProfileController, adalah nama file ataupun class controller.
namaKu, adalah method atau fungsi yang berada di controller.
Tambahkan/tulis syntax berikut pada ProfileController.php
return view('profile',compact('nama','ttl','alamat'));, digunakan untuk menampilkan file profile.blade.php.
compact berfungsi untuk melakukan passing data dari controller ke view.
Kemudian buat file baru dengan nama file profile.blade.php dan simpan di resources/views.
Hasilnya :
Contoh Basic Controller Menggunakan Compact dan Array
Tambahkan/tulis syntax berikut pada web.php
Route::get adalah method yang digunakan untuk menampilkan view maupun data.
Tanda '/nama-barang', menunjukkan route yang didefinisikan atau dibuat untuk route utama atau halaman utama.
ProfileController, adalah nama file ataupun class controller.
namaBarang, adalah method atau fungsi yang berada di controller.
Tambahkan/tulis syntax berikut pada ProfileController.php
return view('list-barang',compact('barangs'));, digunakan untuk menampilkan file list-barang.blade.php.
compact berfungsi untuk melakukan passing data dari controller ke view.
Kemudian buat file baru dengan nama file list-barang.blade.php dan simpan di resources/views.
Hasilnya :
CONTROLLER DENGAN ROUTE PARAMETERS
Sekarang kita akan melakukan parsing atau mengirim data ke controller.
Tambahkan/tulis syntax berikut pada web.php
Route::get adalah method yang digunakan untuk menampilkan view maupun data.
Tanda '/{nama}', menunjukkan route yang didefinisikan atau dibuat untuk route utama atau halaman utama.
ProfileController, adalah nama file ataupun class controller.
saya, adalah method atau fungsi yang berada di controller.
Tambahkan/tulis syntax berikut pada ProfileController.php
public function saya($nama), adalah sebuah fungsi bernama profile yang menangkap sebuah parameter dengan variabel nama.
return ‘Hai saya ‘.$nama.’ dari Kelompok 4’;, mengembalikan nilai dari parameter nama.
Hasilnya :
KOLABORASI ANTARA VIEW DAN CONTROLLER
Setelah membahas cara kerja controller, sekarang kita akan sedikit membahas bagaimana menggabungkan view dengan controller. Berikut adalah contohnya :
Tambahkan/tulis syntax berikut pada web.php
Route::get adalah method yang digunakan untuk menampilkan view maupun data.
Tanda '/{id}/{nama}', menunjukkan route yang didefinisikan atau dibuat untuk route utama atau halaman utama.
ProfileController, adalah nama file ataupun class controller.
profileSaya, adalah method atau fungsi yang berada di controller.
Tambahkan/tulis syntax berikut pada ProfileController.php
public function profileSaya($id, $nama), adalah sebuah fungsi bernama profile yang menangkap sebuah parameter dengan variabel id dan nama.
return view('profileSaya', $data);, digunakan untuk menampilkan file profileSaya.blade.php. $data disini berfungsi untuk melakukan parsing data dari controller ke view.
Kemudian buat file baru dengan nama file profileSaya.blade.php dan simpan di resources/views.
Hasilnya :
Mungkin hanya itu saja penjelasan tentang Basic Controller dan View pada Laravel.
Sekian dan Terima Kasih ^^
Tidak ada komentar: