Mari Mengenal Blade - Template Engine Untuk Laravel
By ADMIN 14 March 2014
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
14 March 2014 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 Mengenal Dasar Pembuatan Website Lebih Detail