Passing Data Menggunakan Controller

Masih dengan materi passing data nih ...

Bila sebelumnya mengirim data dari route langsung ke view, kali ini akan dipelajari bagaimana langkah-langkah menggunakan controller sebagai jembatan dalam Laravel

Controller penting untuk dipahami sebab ia akan menjadi penghubung antara request user dari view dan akan dikembalikan lagi ke view dalam bentuk sebuah respon.  

Mari belajar dengan cara sederhana terlebih dahulu...

Studi kasus :

Mengirim data nama dan kelas melalui controller dan tampil di view

Pertama siapkan projek




 Langkah pertama, siapkan fail controller 

Gunakan perintah php artisan make:controller SiswaController
Maka di folder app\Http\Controllers akan tercipta fail tersebut

Buka fail tersebut akan terlihat isinya beberapa baris kode 
Hapus //..., ganti dengan method baru. Misal index
    public function index() {
        return view('terimaDataWith');
    }

Menjadi 

Method dengan nama index() ini akan memberikan return berupa view dengan nama terimaDataWith

Okey, sampai sini lanjut ke folder views ( karena kita belum membuat fail view dengan nama terimaDataWith.blade.php)
Ingat! Setiap return yang mengembalikan view, wajib ada fail blade di dalam folder views
Buat fail baru terimaDataWith.blade.php di dalam folder views


Buka fail tersebut, kosong bukan? Isi dengan beberapa teks dulu. Misal 
Pastikan return view dalam method controller sama dengan nama fail yang ada di dalam folder views
Sekarang giliran buka fail untuk route, yaitu web.php
Misal route dinamai ruteController
Route::get('/ruteController', [SiswaController::class, 'index']);

Karena route sekarang menggunakan controller, maka ada sedikit perbedaan. Setelah nama route, terdapat kurung kotak [] yang di dalamnya menuliskan nama controller tadi yang dibuat dan dipisah dengan kota memanggil method yang tadi dibuat, yaitu method index().

Secara ringkas, route ini intinya menjalankan method index() yang ada di dalam controller SiswaController saat route /ruteController dipanggil melalui peramban. Kemudian method index() akan mengembalikan view ( return view ), dalam kasus ini akan mengembalikan view terimaDataWith.
Method index() di dalam fail SiswaController
Sudah siap ? Mari jalankan ...
php artisan serve



Jalankan route /ruteController



Muncul!? Yups...
Sampai sini kita telah berhasil menggunakan controller sebagai jembatan antara route dan view

Kalau ada error, buka cek kembali dari awal. Pastikan nama fail dalam folder views sama dengan return view yang ada di controller atau pada bagian route. Teliti kembali! 

Daaah, mari ngopi dulu sebelum lanjut yaaa
🍵
Sekarang, kita coba menambahkan sebuah parameter dan tampilkan di view ( terimaDataWith.blade.php )

Jenis passing yang digunakan yaitu with
Buka kembali fail SiswaController, di method index() pada baris return view() tambahkan ->with
Tambahkan parameter dengan di kurung kotak siku [], format parameter :
    'param1' => value, 
    'param2' => value2, 
    paramN => valueN 
]

Jadi seperti studi kasus diatas, yang akan dikirim yaitu data nama dan kelas menjadi 
[
    'nama' => "Ahmad Istakim",
    'kelas' => 'IX'
]

Yups! Sampai sini lanjut pindah ke fail view ( terimaDataWith.blade.php )
Ganti dengan variabel yang dikurung kurawal dobel {{ $param1 }}
Setiap parameter dalam return view, akan menjadi variabel bila dipanggil dalam view ( ditandai dengan $ ) dan pastikan sama dengan parameter yang ada di dalam return

Okey, sampai sini coba jalankan lagi route /ruteController
Apa hasilnya ?

Yuhuuuuu!
Data yang dikirim berhasil muncul....

Catatan :
Controller diatas menggunakan metode with dalam passing data, bisa juga menggunakan metode array sehingga method index() dalam SiswaController menjadi :

Sumber Kode : GitHub - Passing Data dengan Controller

Begitulah cara menggunakan sebuah controller dalam Laravel sebagai penyambung route menuju view
Ada pertanyaan!? Coret-coret di kolom komentar yaaa 
Ahmad Istakim

Alumni dari jurusan Manajemen Informatika di Universitas Sains Al-Qur'an (UNSIQ ) Wonosobo. Tertarik dalam bidang pendidikan, teknologi komputasi dan disiplin ilmu keislaman ( Tafsir, Hadits, Arudl, Nahwu-Sharaf, Fiqh maupun Aqidah ) - https://s.id/blog-islamQ. Pernah juga mengenyam pendidikan di beberapa pesantren yang ada di Kab. Wonosobo dan Kab. Purworejo

Posting Komentar

Lebih baru Lebih lama