Program
Full Stack Membership! Hanya 3 Hari! Klaim Promo
LIBRARY
UPDATE
o Blog
o Webinar
DISCUSSION
BOOTCAMP
Memulai Web
Development dengan
Laravel - Menggunakan
Blade Template
Ditulis oleh Muhammad Arslan, dipublikasi pada 17 Apr 2017 dalam
kategori Tutorial
Template engine adalah salah satu fitur yang sangat
diharapkan oleh web developer. Bila suatu web
framework sudah memiliki built-in template engine,
maka web framework tersebut akan semakin nyaman
digunakan, misalnya Laravel. Web framework yang
satu ini sudah memiliki template engine dengan nama
Blade.
Memang di PHP ada beberapa template engine yang
sudah memiliki seperti Twig. Sekarang mari kita coba
gunakan Blade yang bisa mempermudah kamu dalam
membuat aplikasi web dengan Laravel.
Menyiapkan Controller
Sekarang mari kita buat controller untuk demo Blade.
Silahkan buat file dengan
nama DemoBladeController.php di
dalam app\Http\Controllers kemudian buat kode berikut
di dalam file tersebut:
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Redis;
return view("blade_sample.index");
}
return view("blade_sample.detail");
}
$nilai = 90;
return view("blade_sample.if", ['nilai' => $nilai]);
}
$siswa = [
"Jajang",
"Sukmana",
"Debby",
"Ratu",
"Clara",
"Juminah",
"Inem",
"Supono"
];
return view("blade_sample.loop", ['siswa' => $siswa]);
}
}
Sekarang silahkan
tambahkan route untuk controller ini di
dalam routes/web.php:
// contoh blade
Route::group(["prefix"=>"demo-blade"], function () {
Route::get("/", "DemoBladeController@index");
Route::get("/detail", "DemoBladeController@detail");
Route::get("/conditional", "DemoBladeController@conditional");
Route::get("/looping", "DemoBladeController@looping");
});
<div class="content">
@yield('content')
</div>
<div class="footer">
<hr/>
Ini adalah footer
</div>
</body>
</html>
Menggunakan Layout
Sekarang kita akan menggunakannya kepada
dua view yang akan meng-extend layout tadi.
Silahkan buat terlebih dahulu file dengan
nama index.blade.php di
dalam folder blade_sample kemudian buat kode
berikut di dalam file tersebut:
@extends('blade_sample.layout')
@section('content')
<p>Ini adalah isi utama dari halaman index</p>
@endsection
@section('content')
<p>Ini adalah isi utama dari halaman detail</p>
@endsection
http://localhost/laraweb/public/index.php/demo-blade
http://localhost/laraweb/public/index.php/demo-blade/detail
Intinya, bagian section akan
menjadi placeholder yang dapat diisin apapun
dari child template. Dengan demikian kita tidak perlu
menulis ulang bagian yang sama dari layout di setiap
halaman.
Menggunakan If
Sekarang kita akan mencoba view yang menggunakan
kondisional di Blade. Silahkan buat terlebih
dahulu file dengan
nama if.blade.php di folder resources/views/blade_sa
mple. Kemudian buat source code berikut di dalamnya:
@extends('blade_sample.layout')
@section('content')
@if ($nilai >= 90)
<p>Kamu mendapatkan nilai A!</p>
@elseif ($nilai >= 60 && $nilai < 90)
<p>Kamu mendapatkan nilai B!</p>
@elseif ($nilai >= 40 && $nilai < 60)
<p>Kamu mendapatkan nilai C!</p>
@elseif ($nilai >= 0 && $nilai < 40)
<p>Kamu mendapatkan nilai D!</p>
@endif
@endsection
http://localhost/laraweb/public/index.php/demo-blade/conditional
Menggunakan Loop
Dan yang terakhir kita akan menggunakan loop yang
dimiliki oleh Blade. Silahkan buat file dengan
nama loop.blade.php dan taruh file tersebut di
dalam folder resources/views/blade_sample. Kemudian
buat kode berikut di dalam file tersebut:
@extends('blade_sample.layout')
@section('content')
<ul>
@foreach ($siswa as $item)
<li>{{ $item }}</li>
@endforeach
</ul>
<br/>
<ul>
@for ($i = 0; $i < 10; $i++)
<li>{{ $i }}</li>
@endfor
</ul>
@endsection
http://localhost/laraweb/public/index.php/demo-blade/looping
Gabung CodePolitan
Membership
Ingin belajar coding secara online dengan lebih terarah?
Gabung sekarang dalam program Premium Membership
di CodePolitan. Dapatkan ratusan modul belajar
pemrograman premium dalam beragam format dengan
materi silabus lengkap dan tersusun rapi dari awal
hingga mahir.
LIHAT MATERI BELAJAR GABUNG MEMBERSHIP
Artikel Lainnya
FEEDBACK
PRIVACY POLICY
HALL OF FAME
MERCHANDISE
© 2020 CodePolitan. All rights reserved
info@codepolitan.com