Blade Templating Dasar — Layout, Include, dan Component
Halo bos! Selamat datang di artikel kelima Belajar Laravel 13.
Kita lanjut langsung dari project blog-sederhana yang sudah kita bangun dari Artikel 1 sampai 4.
Yang sudah kita punya sekarang:
- Project Laravel 13 (blog-sederhana)
- Database sudah terhubung
- PostController (resource) sudah ada
- Route Route::resource('posts', PostController::class) sudah terpasang
Sekarang kita akan membuat tampilan yang rapi menggunakan Blade.
Langkah 1: Buat Layout Utama
Jalankan perintah ini di terminal (pastikan kamu berada di folder project):
Buka file yang baru dibuat:
Ganti seluruh isinya dengan kode berikut:
Langkah 2: Buat Partial Navbar
Jalankan perintah:
Buka file resources/views/partials/navbar.blade.php dan isi:
Catatan: Kita pakai route('posts.index') karena di Artikel 4 kita sudah pakai Named Route dari Route::resource.
Langkah 3: Buat Halaman Daftar Post
Jalankan perintah:
Buka file resources/views/posts/index.blade.php dan isi:
Langkah 4: Buat Halaman Create (Form Tambah Post)
Jalankan perintah:
Buka file resources/views/posts/create.blade.php dan isi:
Langkah 5: Update PostController
Buka file app/Http/Controllers/PostController.php.
Ubah method index dan create menjadi seperti ini:
Biarkan method lainnya (store, show, edit, update, destroy) masih kosong dulu.
Langkah 6: Coba di Browser
Jalankan (kalau belum):
Lalu buka alamat berikut:
- http://blog-sederhana.test/posts → harus muncul halaman Daftar Semua Post
- http://blog-sederhana.test/posts/create → harus muncul halaman Tambah Post Baru
Kalau navbar dan layout sudah muncul, berarti berhasil!
Langkah 7: Membuat Component Alert (Bonus)
Kita buat component sederhana yang bisa dipakai ulang.
Jalankan perintah:
Buka file resources/views/components/alert.blade.php dan isi:
Contoh pemakaian di posts/index.blade.php (opsional):
Ringkasan File yang Sudah Kita Buat
Yang Perlu Kamu Pahami
- @extends('layouts.app') → memakai layout
- @section('content') → mengisi bagian konten
- @yield('content') → tempat konten ditampilkan di layout
- @include('partials.navbar') → memasukkan partial
- <x-alert> → memanggil Blade Component
Tutorial terkait
Query Builder vs Eloquent — Kapan Pakai yang Mana?
Laravel sebenarnya punya dua lapisan untuk mengakses database: Query Builder (DB::table()) yang lebih rendah level, dan Eloquent (Post::query()) yang dibangun di atasnya
Model & Eloquent ORM Dasar di Laravel 13
Tabel sudah ada di database, tapi kalau mau query data, kita butuh cara yang lebih ekspresif daripada SQL mentah. Di sinilah Eloquent, ORM (Object-Relational Mapping) bawaan Laravel, berperan
Migration Dasar — Membuat Tabel Posts dan Categories
Sampai episode ini kita belum punya tabel posts atau categories sama sekali — controller kita masih mengembalikan teks placeholder. Saatnya bikin struktur database sungguhan lewat migration