Anda di halaman 1dari 15

Laravel Blade

Pengenalan
• Blade adalah PHP template engine bawaan Laravel yang digunakan
untuk mengimplementasikan View.
• Blade menggunakan sintaks sederhana yang memisahkan logika
presentasi dari logika aplikasi
• Blade menyediakan sejumlah built-in directive, seperti @if, @foreach,
@php, @include, dsb.
Fitur Utama Blade
• Template Syntax: Blade menyediakan sintaks yang sederhana dan ekspresif untuk
membuat template. {{ }} untuk melakukan echo dan awalan @ untuk directives
• Template Inheritence: Blade memungkinkan pengaturan tata letak pada sebuah
view yang dapat diawariskan kepada child templates.
• Directives: Blade memiliki directives bawaan yang digunakan untuk mengontrol
aliran template dan membuat elemen menjadi reusable. Blade juga
memungkinkan developer untuk mendefinisikan directive buatan.
• Automatic Escaping: Untuk membantu keamanan aplikasi, Blade secara otomatis
meng-escape data dinamis apa pun yang diteruskan ke tampilan, sehingga
developer tidak perlu meng-escape data secara manual.
• Ease of Use: Blade menyediakan sintaks yang elegan dan ekspresif untuk
digunakan, dengan tujuan agar kode lebih mudah untuk dibaca, ditulis, dan di-
maintenance.
Cara Kerja Blade
• Blade bekerja dengan mengkompilasi templatnya menjadi kode PHP
biasa. Proses ini terjadi di balik layar dan transparan bagi developer.

<h3>{{ $user->name }}</h3>

<h3> <?php echo htmlspecialchars($user->name); ?> </h3>


Built-in Directives
Laravel menyedikan berbagai macam directives untuk membantu proses
pembuatan view.
Direktif @yield dan @section
• Direktif @yield digunakan menentukan placeholder konten dalam
sebuah template parent / template layout.
• Direktif @yield digunakan bersamaan dengan direktif @section
• Direktif @section digunakan pada template child untuk mengisi
placeholder yang telah didefinisikan oleh template layout / parent.
Direktif @extend
• Direktif @extend digunakan untuk menentukan layout template yang
akan digunakan oleh sebuah child template.
Direktif @include
• Direktif @include digunakan untuk menyertakan tampilan atau
template di dalam tampilan atau template lainnya.
• @include memungkinkan penggunaan kembali bagian umum dari
tampilan seperti header, footer, dan sidebar.
Direktif @push dan @stack
• Direktif @push digunakan untuk menambahkan konten ke stack, yang
nantinya dapat dirender oleh direktif @stack.
• Perbedaan utama antara @yield dan @push adalah @yield digunakan
untuk menentukan satu bagian konten, sedangkan @push digunakan
untuk menambahkan konten ke stack, yang dapat dirender berkali-
kali dalam satu lokasi.
Direktif @php
• Direktif @php digunakan untuk mengeksekusi skrip raw PHP
• Hindari penggunaan direktif ini sebisa mungkin. Pastikan ada direktif
yang dapat anda gunakan sebelum menggunakan direktif ini.
• Harus diakhiri dengan direktif @endphp
Direktif @if
• Layaknya percabangan pada PHP, direktif ini digunakan untuk
membuat percabangan dengan kondisi.
• Jika terdapat lebih dari 1 cabang, maka dapat dikombinasikan dengan
direktir @elseif dan @else.
• Harus diakhiri dengan direktif @endif untuk menandakan
percabangan selesai.
Direktif @foreach dan @forelse
• Direktif @foreach dan @forelse digunakan untuk melakukan
perulangan dari sebuah list/array pada view.
• Direktif @foreach harus diakhiri dengan @endforeach
• Direktif @forelse harus diakhiri dengan @endforelse
• Perbedaan utama dari kedua direktif ini adalah, @forelse memiliki
direktif tambahan yaitu @empty yang dapat mengecek kondisi ketika
list berstatus empty / kosong.
@method
• Direktif @method digunakan dalam template blade untuk
menghasilkan hidden input dengan nama _method yang menentukan
metode HTTP yang akan digunakan saat form.
• Metode HTTP ini melebihi standar metode yang ada di HTTP yaitu
GET dan POST. Pada Laravel routing system, tersedia metode HTTP
tambahan seperti PUT, PATCH, DELETE, OPTIONS dan ANY.
• Menggunakan @method ini merupakan salah satu bentuk best
practice dalam form handling di di web development.
@csrf
• Direktif ini digunakan untuk menyertakan input hidden berupa anti
CSRF token yang tujuannya untuk melindungi form / segala bentuk
aksi ke server dari serangan Cross Site Request Forgery(CSRF)
• Secara default, direktif ini harus disertakan saat mengirimkan metode
POST, PUT, PATCH, dan DELETE ke server.
• Menggunakan @crsf merupakan salah satu bentuk best practice
dalam form handling di web development.
Dokumentasi Lengkap
• https://laravel.com/docs/9.x/blade

Anda mungkin juga menyukai