Pada artikel sebelumnya, Bekerja dengan controller laravel, kita telah mendeklarasikan blade template yang terletak pada resources/views dengan menggunakan namafile.blade.php. Laravel mengenali ini, kemudian melakukan compile blade template ke PHP.
Dalam kesempatan ini, kita akan melakukan perkenalan terhadap Blade’s syntax dengan if dan foreach statements. Kedepannya, dalam tutorial selanjutnya kita akan menggunakan system blade template dan anda akan melihat betapa bergunanya juga kerennya saat menggunakan Blade dalam bekerja, it’s cool.
Sebelumnya kita telah memiliki controller dengan nama TestController.php (jika belum silahkan baca artikel Bekerja dengan controller laravel terlebih dahulu), buka file tersebut kemudian modifikasi menjadi seperti ini :
public function index()
{
$buah = ['mangga', 'anggur', 'jeruk', 'melon'];
return view('test.index', compact('buah'));
}
Kita telah memiliki sebuah variable $buah yang menampung nilai array dan melakukan passing ke view menggunakan compact method. Compact method adalah php native yang memungkinkan kita untuk menggunakan $buah array dalam halaman view.
Perlu diketahui, compact method memungkinkan kita untuk menggunakan multiple variable, jadi jika anda memiliki multiple items, anda dapat melakukan passing ke view secara bersamaan, contoh :
return view('test.index', compact('buah', 'kendaraan', 'elektronik'));
Semua variable yang anda passing diatas, sekarang sudah tersedia dan dapat digunakan pada view, dengan catatan variable yang akan digunakan juga tersedia pada index method. Tapi untuk memperlancar perkenalan dengan blade tempalate, kita mengambil satu contoh saja yang di passing sebelumnya, yakni $buah.
Buka file index.blade.php dengan path : resources/views/test/ kemudian ketikkan syntax berikut :
@foreach ($buah as $buahs)
{{ $buahs }} <br>
@endforeach
kita menggunakan @foreach untuk mendeklarasikan foreach loop, tidak perlu menggunakan syntax php seperti biasanya. Kemudian kita menggunakan kurung {{ untuk membuka dan menutup php echo statement. Kemudian diakhir dengan @endforeach.
Anda bisa melihat seberapa jelasnya syntax html dan blade terpisah satu sama lain, Tidak perlu menggunakan syntax php yang kadang berantakan (kadang, karena tergantung yang menggunakannya). Dengan blade, menjadi sangat mudah untuk dibaca. Menarik bukan untuk digunakan ?
Selanjutnya, seandainya kita hanya akan menampilkan nilai array $buah, jika memang didalamnya terdapat object yang dapat ditampilkan dan sebaliknya jika $buah bernilai kosong maka akan ditampilkan pesan sesuai yang kita inginkan.
Pada kasus ini, silahkan modifikasi kembali file index.blade.php kemudian tambahkan syntax berikut :
@if (count($buah) > 0)
@foreach ($buah as $buahs)
{{ $buahs }} <br>
@endforeach
@else
<p>Tidak ada data yang bisa ditampilkan</p>
@endif
kita cukup menggunakan count php function untuk melihat apakah terdapat data didalam array $buah yang dapat ditampilkan. Dan jika iya, run foreach kemudian cetak hasilnya. Else (selain dari itu) maka cetak Tidak ada data yang bisa ditampilkan. Jika anda ingin mencoba menampilkan else statement gunakan cara berikut :
@if (!count($buah) > 0)
Blade template cantik bukan ? Pasti betah dong menggunakannya. Oke, sampai jumpa ditutorial selanjutnya.
Comments