Memahami Blade di Laravel 8

Sep 23, 2024

Catatan Kuliah: Blade Templating Engine di Laravel 8

Pengantar

  • Pembicara: Sandi Kagali dari Web Programming Unpas
  • Fokus: Blade Templating Engine di Laravel 8

Apa itu Blade Templating Engine?

  • Merupakan fitur/tools untuk mengelola tampilan halaman web dalam Laravel.
  • Mempermudah pengolahan tampilan dengan:
    • Variabel
    • Struktur kendali (pengulangan, pengkondisian)
    • Layout, komponen, dan parsial.

Dokumentasi Blade

  • Akses dokumentasi Laravel untuk memahami lebih lanjut tentang Blade:
    • Menu: The Basics -> Blade Templates
  • Tidak perlu instalasi tambahan, sudah terintegrasi dalam Laravel.

Sintaks Dasar Blade

  1. Menampilkan Data: Mengirim data dari route ke view menggunakan sintaks:

    • Sintaks Blade: {{ $name }}
    • Menghindari serangan XSS otomatis.
  2. Contoh: Mengganti sintaks PHP dengan Blade.

    • Ubah dari <?= $name ?> ke {{ $name }}.

Layout dan Komponen

Layout Sederhana

  • Menggunakan framework CSS (Bootstrap) untuk mempercantik tampilan.
  • Contoh pembuatan layout dengan Bootstrap:
    • Buat file layout di folder views/layouts/main.blade.php.
    • Gunakan @yield untuk mendefinisikan bagian yang dapat diisi oleh child views.

Child Views

  • Menggunakan @extends untuk meneruskan layout ke halaman child (home, about, blog).
  • Menggunakan @section dan @endsection untuk mendefinisikan isi dari child view.

Komponen dan Partials

  • Memisahkan navbar sebagai partial:
    • Buat folder views/partials dan file navbar.blade.php.
    • Gunakan @include untuk memasukkan komponen.

Dinamisasi Judul Halaman

  • Kirimkan judul halaman melalui array di route:
    • Contoh: return view('home', ['title' => 'Home']);
  • Menggunakan variabel di layout untuk menampilkan judul yang dinamis.

Mengelola Blog Posts

  • Menggunakan array untuk menyimpan data blog.
  • Menampilkan posts dengan @foreach:
    • Contoh sintaks:
      @foreach ($posts as $post)
          <h2>{{ $post['title'] }}</h2>
          <h5>{{ $post['author'] }}</h5>
          <p>{{ $post['body'] }}</p>
      @endforeach
      

Routing untuk Detail Post

  • Menambahkan route untuk mengakses detail post berdasarkan slug.
  • Menggunakan wildcard routing untuk menangkap slug.

Kesimpulan

  • Penggunaan Blade Templating Engine mempermudah pengelolaan tampilan dalam aplikasi Laravel.
  • Penting untuk memahami dokumentasi Laravel untuk fitur-fitur lain yang tersedia.
  • Materi selanjutnya: Model dan Controller dalam aplikasi Laravel.