Laravel - Blade Templates: A Beginner's Guide
Halo teman-teman pemula pengembang web! Hari ini, kita akan mendalamkan dunia yang menakjubkan mesin template Blade Laravel. Jangan khawatir jika Anda belum pernah mengoding sebelumnya - saya akan menjadi panduan ramah bagi Anda dalam perjalanan ini, dan kita akan mengambil langkah-langkah secara bertahap.
Apa Itu Blade?
Blade adalah mesin template yang kuat dari Laravel. Bayangkan itu sebagai alat ajaib yang membantu kita menciptakan template HTML dinamis dan dapat digunakan kembali. Itu seperti memiliki asisten super cerdas yang dapat mengisi ruang kosong di halaman web Anda dengan data nyata.
Mengapa Menggunakan Blade?
- Itu sederhana dan mudah untuk dipelajari
- Itu membuat kode Anda lebih bersih dan mudah dibaca
- Itu membantu Anda menghindari pengulangan (ingat, pengembang adalah malas - dalam cara yang baik!)
Sekarang, mari kita lipatkan lengan dan mulai!
Langkah-langkah Membuat Layout Blade Template
1. Buat Layout Induk
Pertama, kita perlu membuat layout induk. Ini seperti kerangka website Anda - itu mengandung bagian yang tetap sama di setiap halaman.
Buat file baru bernama layout.blade.php
di direktori resources/views
:
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@yield('title')</title>
</head>
<body>
<header>
<h1>Situs Web Saya yang Menakjubkan</h1>
</header>
<main>
@yield('content')
</main>
<footer>
<p>© 2023 Situs Web Saya yang Menakjubkan</p>
</footer>
</body>
</html>
mari kitauraikan ini:
-
@yield('title')
: Ini memberitahu Blade, "Hey, kita akan mengisi judul ini nanti untuk setiap halaman." -
@yield('content')
: Ini adalah tempat konten utama setiap halaman akan ditempatkan.
2. Buat Template Anak
Sekarang, mari kita buat template anak yang menggunakan layout kita. Buat file baru bernama home.blade.php
:
@extends('layout')
@section('title', 'Halaman Home')
@section('content')
<h2>Selamat Datang di Situs Web Saya yang Menakjubkan!</h2>
<pIni adalah konten halaman home.</p>
@endsection
Ini adalah apa yang terjadi:
-
@extends('layout')
: Ini memberitahu Blade untuk menggunakan filelayout.blade.php
sebagai dasar. -
@section('title', 'Halaman Home')
: Ini mengisi judul yang kosong yang kita tinggalkan sebelumnya. -
@section('content')
: Ini adalah tempat kita menempatkan konten unik untuk halaman ini.
3. Menampilkan Data
Blade benar-benar menonjol saat menampilkan data. mari kita katakan kita ingin menampilkan daftar buah. Kita akan memperbarui home.blade.php
:
@extends('layout')
@section('title', 'Halaman Home')
@section('content')
<h2>Selamat Datang di Situs Web Saya yang Menakjubkan!</h2>
<pIni adalah konten halaman home.</p>
<h3>Pilihan Buah Kita:</h3>
@if(count($fruits) > 0)
<ul>
@foreach($fruits as $fruit)
<li>{{ $fruit }}</li>
@endforeach
</ul>
@else
<p>Maaf, kami sudah habis buah!</p>
@endif
@endsection
Dalam contoh ini:
-
@if
dan@else
: Ini memungkinkan kita membuat keputusan dalam template. -
@foreach
: Ini membantu kita melooping melalui daftar buah kita. -
{{ $fruit }}
: K curly braces ganda memberitahu Blade untuk menampilkan nilai variabel.
4. Menggunakan Komponen Blade
Komponen Blade adalah seperti blok LEGO untuk website Anda. Itu adalah bagian yang dapat digunakan kembali yang Anda dapat gunakan di berbagai halaman. mari kita buat komponen sederhana untuk tombol.
Buat file baru resources/views/components/button.blade.php
:
<button class="btn btn-{{ $type ?? 'primary' }}">
{{ $slot }}
</button>
Sekarang kita dapat menggunakan tombol ini di home.blade.php
:
@extends('layout')
@section('title', 'Halaman Home')
@section('content')
<h2>Selamat Datang di Situs Web Saya yang Menakjubkan!</h2>
<pIni adalah konten halaman home.</p>
@component('components.button', ['type' => 'success'])
Klik saya!
@endcomponent
@endsection
Ini akan membuat tombol dengan teks "Klik saya!" dan gaya sukses.
Catatan Cheat Direktif Blade
Berikut adalah tabel ringkasan dari beberapa direktif Blade umum:
Direktif | Tujuan |
---|---|
@if | Statement kondisional |
@else | Alternatif untuk @if |
@elseif | Kondisi alternatif |
@foreach | Loop melalui array |
@for | Loop for |
@while | Loop while |
@switch | Statement switch |
@yield | Definisikan section dalam layout |
@section | Definisikan konten untuk layout |
@extends | Tentukan layout mana yang digunakan |
@include | Sertakan view lain |
@auth | Periksa jika pengguna terotentikasi |
@guest | Periksa jika pengguna adalah tamu |
Ingat, latihan membuat sempurna! Jangan khawatir untuk mencoba direktif ini dan membuat template Anda sendiri. Sebelum Anda sadar, Anda akan menjadi petarung Blade, memotong HTML seperti pisau panas melalui mentega!
Dalam tahun-tahun mengajar saya, saya menemukan bahwa cara terbaik untuk belajar adalah dengan melakukan. Maka, mengapa tidak mencoba membuat layout blog sederhana menggunakan apa yang kita pelajari? Mulai dengan layout induk, buat halaman untuk home, tentang, dan posting blog, dan gunakan fitur kuat Blade untuk membuat kode Anda bersih dan DRY (Don't Repeat Yourself).
Selamat mengoding, dan may the Blade be with you! ?
Credits: Image by storyset