Bagi seorang developer, baik itu seorang profesional ataupun yang masih belajar membuat sebuah aplikasi web tentu sudah tidak asing atau bahkan sering menggunakan sebuah template untuk tampilan aplikasi yang dibuat. template biasanya terdiri dari beberapa susunana tag-tag html, css atau javascript. template ini dibuat dengan tujuan untuk membuat tampilan aplikasi menjadi lebih menarik dan interaktif sehinggan membuat user tidak bosan dan user lebih merasa nyaman ketika menggunakan aplikasi. di dalam laravel template digunakan untuk memperindah halaman view yang akan ditampilkan bersama dengan data yang dikirim dari controller. bagaimana kemudian data-data yang dikirim dari controller bisa digabungkan dengan kode-kode html yang ada di dalam view? jawabannya karena adanya template engine.
Template engine adalah sebuah mekanisme yang digunakan untuk membuat sebuah template atau halaman menjadi lebih dinamis dan fleksible. Karena dengan template engine kita bisa menggabungkan kode-kode program ke dalam halaman html. Laravel sendir mempunya sebuah template engine yang diberi nama Blade. Blade mempunyai sintak-sintak khusus yang berfungsi untuk memasukan data dinamis ke dalam template html, selain itu juga blade mempunya sintak-sintak yang bertugas untuk mengelola halaman template itu sendiri ataupun bagian-bahian kecil dari halaman template
Blade Directives
Directives merupakan kemampuan blade untuk menyisipkan kode atau logika program ke dalam template (halaman view). Blade memiliki banyak directives, directives yang banyak digunakan di antaranya :
Directives yang berhubungan dengan tampilan
umumnya sebuah template akan terdiri dari beberapa file yang dibuat terpisah seperti header, footer, sidebar atau bagian-bagian lain yang lebih kecil, pemisahan file-file dilakukan dengan alasan :
- Pemisahan file atau bagian halaman memungkinkan seorang pengembang untuk membuat komponen-komponen template yang bisa digunakan di banyak halaman
- pemisahan file template akan memudahkan pengembang ketika terjadi error atau melakukan perubahan
Berikut contoh directive yang disediakan laravel untuk pengelolaan halaman template :
@extends
Directive extends digunakan untuk menyatakan bahwa template tersebut merupakan turunan dari file template lain
@yield
Directive yield digunakan untuk menentukan sebuah area yang dapat digantu atau diisi oleh sebuah tampilan
@include
Directive include digunakan untuk menyisipkan sebuah halaman kedalam halaman yang lain.
@section
Directive section digunakan untuk menempatkan sebuan tampilan pada suatu area di halaman utama yang ditandai dengan @yield