Mari Mengenal Blade - Template Engine Untuk Laravel

Halo, kembali lagi pada artikel tentang Laravel. Kali ini saya akan membahas tentang Blade, bukan pisau atau pedang tapi blade yang ini merupakan sebuah template engine bawaan Laravel.

Apakah Template Engine?

Template Engine sendiri merupakan suatu cara/metode (syntax) yang digunakan untuk mempersingkat penulisan suatu koding yang lebih panjang. Pada dasarnya PHP sendiri merupakan suatu cara yang digunakan untuk mempersingkat penulisan syntax HTML.
Contoh yang pertama adalah penulisan pada file PHP biasa.
<?php $html =''; $html .='<ul>';foreach($posts as $post){ $html .='<li>'. $post->title .'</li>';} $html .='</ul>'; echo $html;?>
Contoh berikut adalah contoh dari CodeIgniter
...<ul><?php foreach($posts as $post):?><li><?php echo $post->title ?></li><?php endforeach;?></ul>...
Kedua syntax diatas memiliki output yang sama. Namun keduanya belum memanfaatkan template engine. Kedua syntax diatas hanya digunakan sebagai sebuah bahasa pengolahan string (HTML).
Dari kedua syntax diatas pun lebih mudah untuk memahami syntax kedua. Dengan menuliskan tag HTML sebagai tag HTML (Tidak menggunakan tanda petik (')), maka pembacaan syntax pun akan lebih mudah dipahami.

Apakah Blade?

Blade adalah template engine bawaan Laravel. Blade menawarkan syntax yang lebih mudah untuk menghasilkan dokumen HTML.
Contoh syntax menggunakan blade :
...<ul>@foreach($posts as $post)<li>{{ $post->title }}</li>@endforeach</ul>...
Keluaran untuk syntax diatas juga identik dengan syntax pertama dan kedua. Jauh lebih singkatkan.

Syntax Blade

Ada beberapa syntax Blade yang sering digunakan pada Laravel. Berikut adalah beberapa contohnya :

Echo variable

Halo bro {{ $name }}// identik dengan:Halo bro <?php echo $name ?>

Echo variable dengan aman (escape html)

Halo bro {{{ $name }}}// identik dengan:Halo bro <?php echo htmlspecialchars($name, ENT_QUOTES,'UTF-8')?>

Echo variable atau default value (Laravel versi 4.1)

Halo bro {{ $name or'guest'}}// identik dengan:Halo bro <?php echo isset($name)?$name:'guest'?>

Kondisional

@if(count($posts)===1)Ada satu tulisan baru@elseif(count($posts)>1)Ada beberapa tulisan baru@elseTidak ada tulisan baru@endif// kebalikan dari if, hanya dijalankan jika kondisi TIDAK terpenuhi@unless($isLogin)Anda tidak berhak mengakses halaman ini@endunless

Iterasi

@for($i =0; $i <10; $i++)<span>nilai i ={{ $i }}<span>@endfor@foreach($posts as $post)<p>Judul={{ $post->title }}</p>@endforeach@while(true)<p>Forever alone... eh, forever looping</p>@endwhile

Include sub-view

@include('folder.subview')// passing variable@include('folder.subview', array('var1'=>'value1'))

Komentar

{{--Ini komentar, tidak akan ditampilkan --}}

Bagaimana Cara Kerja Blade ?

Anda dapat menggunakan blade cukup dengan mengubah file name sample.php dengan sample.blade.php. Selanjutnya Laravel akan otomatis menerjemahkan tag-tag yang berkesesuaian.
Lanjut saja, berikut adalah contoh penggunaannya :
Route::get('contoh-blade',function(){returnView::make('blade-sample');});
Simpan file diatas pada file  app/routes.php:
Kemudian buat file dengan nama  app/views/blade-sample.blade.php:
 
@foreach(array(1,2,3)as $i){{ $i }}@endforeach
Hasilnya adalah sebagai berikut :
Kemudian kita bisa melihat hasil terjemahan blade pada : app/storage/views . Pada komputer saya, file hasil terjemahannya bernama : 56694480c76cb0157c09cdc48449b202  . Dan isi dalam file tersebut adalah sebagai berikut :
<?php foreach(array(1,2,3)as $i):?><?php echo $i;?><?php endforeach;?>
Sekian artikel tentang template engine Blade pada Laravel.
Sampai jumpa diartikel berikutnya

IKUTI TRIAL KURSUS ONLINE

IKUTI TRIAL KURSUS ONLINE

NAMA PESERTA TEST & PENERIMA BEASISWA

  
  
Loading...



14 March 2014 ADMIN Bagikan di Twitter Bagikan di Facebook Bagikan di Google+ Bagikan di Google+

Artikel menarik lainnya



Previous Post Ulang Tahun Internet (WWW) Ke 25th, Mari Jaga Agar Tetap Gratis Dan Terbuka Next Post Mengenal Dasar Pembuatan Website Lebih Detail