Selasa, 10 Februari 2015

Blade Templating pada Laravel

Blade adalah suatu templating engine bawaan Laravel yang berfungsi untuk menyederhanakan suatu syntax dengan menerjemahkan syntax php atau html , dengan blade ini code kita lebih terstruktur berbeda dengan php apabila digabungkan dengan html terlihat acak - acakan.
Agar kita dapat menggunakan blade , pada setiap file harus menggunakan extensi blade. Misalnya biasanya kita membuat index.php ubah menjadi index.blade.php.
Contoh penggunaan blade
 {{ 'nama saya adalah : '.$name }} 
Kode di atas pada php sama sengan
<?php echo 'nama saya adalah : '.$name; ?>
Bagaimana lebih simple blade kan ? namun ada beberapa kelemahan salah satunya yang saya tahu blade tidak bisa mendeklarasikan variable , contoh $name = 'Udin'; Jadi untuk mendeklarasikan variable tetap menggunakan tag PHP  <? php $name='Udin' ?> .

Macam Syntax Blade

Blade pada Laravel memungkinkan kita untuk memisahkan layout, echo data, melakukan looping, menggunakan statement if - else, include view.
Echo Data
 Woy , {{{ $nama }}}. Sekarang Tanggal {{date('d/m/Y)}}
Echo Data dengan aman (escape.html)
 Woy lo {{{ $nama }}} minta duit ! 
Cek data sebelum menampilkan
{{{ isset($nama) ? $nama : 'Udin' }}} 
 {{{ $nama or 'Udin' }}} 
2 Kode di atas bila diartikan cek variabel nama jika ada tampilkan namanya kalo tidak tampilkan 'Udin'.
If Statement
 @if (count($pesan) === 1)
   kamu dapat pesan
 @elseif (count($pesan) > 1)
   Cie kamu dapat pesan banyak euy !!
 @else
   Kasian kamu tidak dapat pesan
 @endif 
 @unless (Auth::check())
   Kamu belum login
 @endunless
unless kebalikan dari if. pada unless dijalankan jika kondisi tidak terpenuhi
Looping
 @for ($i = 1; $i < 10; $i++)
   {{ $i }} 
 @endfor
 @forelse($mahasiswa as $data)
  <li>{{ $user->nama }}</li>
 @empty
  Tidak ada mahasiswa
 @endforelse
Jika ada isi dari $mahasiswa tampilkan 'data' jika kosong tampilkan pesan 'tidak ada mahasiswa'
 @while (true)
  Tulisan ini akan diulang ulang sampai akhir zaman
 @endwhile
 Menggunakan Include
 @include('folder.view')
 include dengan parsing parameter
 @include('folder.view', array('nama'=>'uink'))
Include / mamasukan view dari view lain, dimana anda ingin menampilkannya cukup @include saja.
Penulisan Komentar 
 {{-- ini komentar tidak akan di render html / tidak akan tampil --}}
 Menggunakan Layout
Misalnya anda ingin membuat layout yang akan dipakai oleh beberapa view. Buat sebuah view di app/views/  dengan nama layout.blade.php 
layout.blade.php
 <!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="utf-8" />
 <title>my app</title>
</head>
<body>

 @yield('content')

</body>
</html>
pada kode diatas kita melihat hal yang aneh yaitu @yield('content') . itu adalah view yang akan ditampilkan jika memanggil layout ini dengan mengextends content. tulisan content bisa diganti dengan apa saja terserah anda. Lalu buat sebuah view pada app/views/user/ dengan nama user.blade.php isi nya sebagai berikut :
@extends('layout')

@section('content')
 
 <p>Tulisan ini diletakan di dalam content</p>

@stop
Penjelasan :
  • @extends('layout') berarti view ini menggunakan layout dari app/views/layout
  • $section('content') berarti view ini diletakan ditempat dimana ada perintah @yield('content') pada layout terkait
  • @stop yang ditampilkan cukup sampai disitu.
Sekian penjelasan tentang Blade Templating pada Laravel. Pada dasarnya Blade hanya membantu menangani syntax yang sering dipakai namun dalam beberapa kasus kita harus tetap menggunakan tag PHP.

Sumber : Ilmuwebsiteku.com  Blade Templating Laravel

Tidak ada komentar:

Posting Komentar