This content originally appeared on DEV Community and was authored by Muhammad Iqbal
Blade Templates pada Laravel adalah sistem templating yang dirancang untuk mempermudah pembuatan tampilan (views) dalam aplikasi. Blade menyediakan sintaks yang bersih dan sederhana, serta fitur-fitur canggih untuk meningkatkan produktivitas pengembang. Berikut adalah beberapa kegunaan utama Blade Templates pada Laravel:
A. Sintaks yang Bersih dan Sederhana:
- Blade menggunakan sintaks yang mirip dengan PHP, tetapi lebih bersih dan mudah dibaca.
- Misalnya, untuk mencetak variabel, cukup gunakan
{{ $variable }}
.
<h1>Hello, {{ $name }}</h1>
B. Layouts dan Sections:
- Blade memungkinkan penggunaan layout untuk menghindari pengulangan kode dan mempermudah pengelolaan tampilan yang konsisten.
- Sections memungkinkan kamu untuk mendefinisikan area yang bisa diisi oleh template turunan.
Layout:
<!-- resources/views/layouts/app.blade.php -->
<!DOCTYPE html>
<html>
<head>
<title>App Name - @yield('title')</title>
</head>
<body>
<div class="container">
@yield('content')
</div>
</body>
</html>
Template Turunan:
<!-- resources/views/child.blade.php -->
@extends('layouts.app')
@section('title', 'Page Title')
@section('content')
<p>This is the content of the page.</p>
@endsection
C. Blade Directives:
- Blade menyediakan berbagai direktif seperti
@if
,@foreach
,@for
,@while
,@switch
, dan banyak lagi untuk mengontrol logika dalam template.
@if ($user->isAdmin())
<p>Welcome, admin!</p>
@else
<p>Welcome, user!</p>
@endif
D. Komponen dan Slots:
- Blade mendukung penggunaan komponen dan slot untuk membuat tampilan yang lebih modular dan reusable.
Membuat Komponen:
<!-- resources/views/components/alert.blade.php -->
<div class="alert alert-{{ $type }}">
{{ $slot }}
</div>
Menggunakan Komponen:
<!-- resources/views/welcome.blade.php -->
@component('components.alert', ['type' => 'danger'])
This is an error alert.
@endcomponent
E. Blade Include:
- Menggunakan
@include
untuk menyisipkan tampilan lain ke dalam template.
@include('partials.header')
<div class="content">
@yield('content')
</div>
@include('partials.footer')
F. Menangani Data yang Diberikan:
- Blade memudahkan pengiriman data dari controller ke tampilan dan penanganan data tersebut dalam template.
// Dalam controller
public function show($id)
{
$user = User::find($id);
return view('user.profile', ['user' => $user]);
}
<!-- resources/views/user/profile.blade.php -->
<h1>{{ $user->name }}</h1>
<p>{{ $user->email }}</p>
G. Blade Service Injection:
- Mendukung injeksi service langsung dalam template.
@inject('metrics', 'App\Services\MetricsService')
<div>
Monthly Revenue: {{ $metrics->monthlyRevenue() }}
</div>
H. Extending Blade:
- Membuat custom Blade directives untuk memperluas fungsionalitas.
// Dalam service provider
Blade::directive('datetime', function ($expression) {
return "<?php echo ($expression)->format('m/d/Y H:i'); ?>";
});
@datetime($user->created_at)
Kesimpulan
Blade Templates pada Laravel mempermudah dan mempercepat proses pengembangan tampilan dengan menyediakan sintaks yang bersih, fitur-fitur canggih seperti layouts, sections, komponen, dan slot, serta mendukung logika kontrol dan injeksi service. Blade membantu menjaga kode tampilan tetap rapi, terorganisir, dan mudah dipelihara.
This content originally appeared on DEV Community and was authored by Muhammad Iqbal
Muhammad Iqbal | Sciencx (2024-08-02T22:36:03+00:00) Blade Templates. Retrieved from https://www.scien.cx/2024/08/02/blade-templates/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.