Contoh Penggunaan Blade Templating di Laravel

Masih membahas prnggunaan dasar laravel, kali ini saya baru aja dapet ilmu yang subhanallah, yaitu dasar blade templating, langsung aja ini dia sumber yang menyediakan nya :
isi nya sudah saya copy ke sini, takut nya page hilang di kemudian hari ðŸ˜€ #sukron

Apakah Blade itu?…(sebagian besar pemula yang ingin belajar laravel, pasti akan menanyakan pertanyaan ini)
Blade adalah mesin template / template engine yang sangat sederhana yang disediakan oleh Laravel untuk menyediakan dokumen HTML. tidak seperticontroller layout, Blade di atur / dikendalikan oleh template inheritancedan sections (dengan kata lain template engine diatur sebagai Obyek seperti pada Pemrogramman Berorientasi Obyek). Semua Blade template harus menggunakan ekstensi .blade.php
contoh: kita akan membuat file index.php, apabila kita akan menggunakan Blade Template Engine maka ekstensinya menjadi index.blade.php   
Dasar Blade Template :
Echo Variable
1
2
3
4
5
/*cara lama dengan menggunakan script php*/
echo "Halo ini cara lama" ?>
/*cara baru dengan menggunakan blade template*/
{{ "Halo ini cara blade template" }}
Echo Variable dengan aman (escape html)
1
2
3
4
5
/*cara lama dengan menggunakan script php*/
Halo ini cara lama echo htmlspecialchars($name,ENT_QUOTES,'UTF-8') ?>
/*cara baru dengan menggunakan blade template*/
Halo ini cara blade template {{{ $name }}}
Echo Variable dengan default value
1
2
3
4
5
/*cara lama dengan menggunakan script php*/
Halo ini cara lama echo isset ($name)?($name): 'guest' ?>
/*cara baru dengan menggunakan blade template*/
Halo ini cara blade template {{ $name or 'guest' }}
Conditional
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*cara lama dengan menggunakan script php*/
if (status==0) {
   echo "Proses Gagal";
elseif (status==1) {
   echo "Proses Berhasil";
}else {
 echo "Tidak diketahui";
}
?>
/*cara baru dengan menggunakan blade template*/
@if (status==0)
  {{ "Proses Gagal" }}
@elseif (status==1)
  {{ "Proses Berhasil" }}
@else
  {{ "Tidak diketahui" }}
@endif
/*kebalikan dari if, jika kondisi tidak memenuhi syarat yang ada*/
@unless($isLogin)
   {{ "Anda tidak berhak mengakses halaman ini" }}
@endunless
Iterasi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*cara lama dengan menggunakan script php */
/* for statement*/
  for ($i = 1; $i <= 10; $i++) {
  echo $i;
}
?>
/* while statement */
while ($i <= 10) :
  echo $i++;
endwhile;
?>
/* foreach statement */
foreach($arr as $value)
{
 $value=$value + 1;
 echo $value;
}
?>
/*cara baru dengan menggunakan blade template*/
/* for statement */
@for ($i = 1; $i <= 10; $i++)
  {{ $i }}
@endfor
/* while statement */
@while ($i <= 10)
  {{ $i ++ }}
@endwhile
/* foreach statement */
@foreach($arr as $value)
 {{ $value $value + 1; }}
 {{$value}}
@endforeach
Include sub-view
1
2
3
4
5
/*cara lama dengan menggunakan script php */
include 'folder/subview';
/*cara baru dengan menggunakan blade template*/
@include('folder.subview')
Comment Remark
1
{{--komentar tidak akan ditampilkan--}}
Create Form HTML
1
2
3
4
5
6
7
8
9
10
11
/*cara lama dengan menggunakan script php */
"form" method="post" action="name_url">
 "text" name="kode" placeholder="kode"/>
 "submit" name="submit" class="btn btn-primary"/>
/*cara baru dengan menggunakan blade template*/
{{ form::open(array('url'=>'name_url','method' => 'post')) }}
{{ Form::text('kode', Input::old('kode'), array('class' => 'form-control','placeholder'=>'Kode')) }}
{{ Form::submit('Proses'array('class' => 'btn btn-primary')) }}
{{ form::close() }}
Load script *.css dan *.js
1
2
3
4
5
6
/*cara baru dengan menggunakan blade template*/
/*memanggil script file *.js*/
{{HTML::script('name_file.js')}}
/*memanggil script file *.css*/
{{HTML::style('name_file.css')}}
selain itu blade menyediakan fasilitas untuk reuseable coding (maksudnya kita tidak perlu ngetik koding yang sama berulang – ulang kali pada halaman yang berbeda), yaitu template inheritance dan sections
seperti contoh dibawah ini :
buat file dengan nama default.blade.php pada app/views buat folderlayoutsdengan script sebagai berikut :
1
2
3
4
5
6
7
8
9
10
11
/*script file app/views/layouts/default.blade.php*/
class="container">
   
"main" class="row" style="margin-left:60px;margin-right:60px;">
     @yield('content')
   
kemudian buat file dengan nama index.blade.php pada app/views dan buat folder baru tampil dimana file index ini akan ditempatkan kedalam filedefault.blade.php dengan script sebagai berikut :
1
2
3
4
5
/*script file app/views/tampil/default.blade.php*/
@extends('layouts.default')
@section('content')
  {{ "BELAJAR BLADE TEMPLATE ENGINE " }}
@stop
kemudian pada app/controllers/HomeController.php rubah scriptnya sebagai berikut :
1
2
3
4
5
6
7
8
9
10
/*script file app/controllers/HomeController.php*/
class HomeController extends Controller {
  public function index()
  {
    return View::make('tampil.index');
  }
}
kemudian app/routes.php
1
2
3
4
5
/*script file app/routes.php*/
Route::get('/','HomeController@index');
untuk hasilnya bisa di download di Download Proyek
untuk proses installasi laravel bisa lihat di instalasi laravel framework
karena pekerjaan sudah mulai memanggil, maka untuk penulisan tutorialnya dilanjutkan dikemudian hari ya…. insyALLAH untuk penulisan berikutnya akan membahas Routing dan CRUD dengan Laravel.

Komentar

Postingan populer dari blog ini

Mengatasi Undefined Variable & Undefined Index pada PHP

Configure RAID on System x3550 M5 Type 8869

Tips & Trick Blackberry