Pembahasan kali ini kita akan membahas tutorial laravel blade, apa itu blade dan bagaimana coding blade di laravel?
Blade adalah sebuah template engine bawaan Laravel yang memungkinkan kita mengolah data tanpa turut campur dengan kode murni PHP.
Sebetulnya blade menjalankan kode PHP akan tetapi kode PHP di parsing atau dibuat berbeda berdasarkan kata kunci fungsi.
Baca juga: Mengenal Laravel Lebih Dalam
Belajar Laravel Blade
Karena blade adalah sebuah template engine maka penulisannya sedikit berbeda dengan PHP standar, meskipun kata kunci fungsinya sama. Di Tutorial Laravel Blade ini akan penulis jelaskan secara detail bagaimana penggunaan Laravel Blade.
Letak file blade terdapat di folder resources/views/ disana semua file blade disimpan untuk kebutuhan bagian frontend.
Kalau anda mengikuti seri tutorial laravel dasar ini silahkan buka controller HaloDuniaController.php, kalau kamu baru melihat tutorial ini silahkan cek di daftar isi diatas.
Didalam file HaloDuniaController.php tersebut tambahkan kode dibawah ini:
public function haloBlade()
{
return view('halo');
}
Code language: PHP (php)
Sebelum melanjutkan ke file blade penulis ini menerangkan sedikit.
Fungsi view()
digunakan untuk memanggil file yang ada di folder resources/view, dimana didalam folder tersebut berisi file blade. File blade terdiri dari 2 ekstensi yaitu nama_file.blade.php akan tetapi pemanggilan di fungsi view()
tidak perlu selengkap nama file dan ekstensi.
Cukup nama file saja maka akan otomatis di render oleh Laravel itu sendiri.
Mari kita lanjutkan…
Lalu tambahkan file halo.blade.php di folder resources/views/ dan tambahkan kode dibawah ini:
<!DOCTYPE html>
<html>
<head>
<title>Halo Blade</title>
</head>
<body>
<h1>Halo Blade</h1>
</body>
</html>
Code language: HTML, XML (xml)
Selanjutnya pada file routes.php tambahkan kode dibawah ini:
Route::get('/halo-blade', 'App\Http\Controllers\HaloDuniaController@haloBlade');
Code language: PHP (php)
Lalu jalankan php artisan serve
dan buka browser anda ketikan URL dibawah ini:
http://127.0.0.1:8000/halo-blade
Maka tampilannya akan seperti gambar dibawah ini:
Terlihat pada gambar diatas sebuah kata Halo Blade, dimana kata tersebut dirender ke browser melalui file blade yang tadi kita buat.
Dengan cara itu anda dapat memisahkan logika dan tampilan sehingga coding anda lebih rapih dan mudah untuk di maintain. Tidak seperti cara konvensional dimana didalam satu file di satukan tampilan dan alur logika, sehingga kode terlihat tidak rapih.
Mengirim Data Ke Blade
Lalu selanjutnya bagaimana cara mengirim data atau mengambil data dari controller ke file blade.
Pertama perhatikan format fungsi view()
dibawah ini:
view(string $path, array $data = [])
Code language: PHP (php)
Didalam function view()
tersebut ada dua parameter, dimana parameter $path
bersifat “harus” diisi sementara parameter kedua $data
adalah opsional.
Parameter $data
tersebut digunakan untuk mengirim data ke blade, data tersebut berbentuk array.
Misalnya, buka kembali file HaloDuniaController.php tadi, lalu di method haloBlade()
ubah seperti kode dibawah ini:
public function haloBlade()
{
return view('halo', ['data' => 'Contoh data']);
}
Code language: PHP (php)
Setelah itu buka lagi file halo.blade.php lalu pada bagian <h1>Halo Blade</h1>
ubah seperti kode dibawah ini:
<h1>Halo Blade</h1>
<br>
Data: {{ $data }}
Code language: HTML, XML (xml)
Selanjutnya refresh kembali browser anda, akan muncul seperti gambar dibawah ini:
Selanjutnya perhatikan pada bagian {{ $data }}
, seperti awal penulis katakan sebenarnya blade mengubah kode PHP menjadi tag yang lebih sederhana agar penulisan kode HTML dan PHP tidak berantakan.
{{ $nama_variable }}
sama dengan <?php echo $nama_variable; ?>
, jadi {{
dan }}
adalah echo di PHP.
Lalu bagaimana penulisan if conditional dan perulangan?
Setiap nama kata kunci seperti if atau for atau while masih sama, hanya saja sedikit berbeda. Contoh seperti dibawah ini:
@if(kondisi)
// statement
@endif
Code language: PHP (php)
Nama fungsi tersebut selalu diawali dengan simbol @ begitu juga penutupnya selalu di akhiri dengan @end, apabila ingin menggunakan if else seperti berikut ini:
@if(kondisi jika benar)
// statement
@elseif(maka kondisi kedua)
// statement
@else
// statement
@endif
Code language: PHP (php)
Sama seperti fungsi proses yang lain, misalnya @for
dengan @endfor
, @foreach
dengan @endforeach
, @while
dengan @endwhile
dan seterusnya.
Demikian pembahasan tutorial laravel blade, meskipun sebenarnya masih lebih dalam lagi jika ingin dibuka semua, namun seiring dengan waktu pembaca akan memahami penggunaan Laravel blade ini, semoga mudah dipahami dan bisa dipraktekan tanpa kendala.