Blade Templates

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…


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


Print Share Comment Cite Upload Translate Updates
APA

Muhammad Iqbal | Sciencx (2024-08-02T22:36:03+00:00) Blade Templates. Retrieved from https://www.scien.cx/2024/08/02/blade-templates/

MLA
" » Blade Templates." Muhammad Iqbal | Sciencx - Friday August 2, 2024, https://www.scien.cx/2024/08/02/blade-templates/
HARVARD
Muhammad Iqbal | Sciencx Friday August 2, 2024 » Blade Templates., viewed ,<https://www.scien.cx/2024/08/02/blade-templates/>
VANCOUVER
Muhammad Iqbal | Sciencx - » Blade Templates. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/08/02/blade-templates/
CHICAGO
" » Blade Templates." Muhammad Iqbal | Sciencx - Accessed . https://www.scien.cx/2024/08/02/blade-templates/
IEEE
" » Blade Templates." Muhammad Iqbal | Sciencx [Online]. Available: https://www.scien.cx/2024/08/02/blade-templates/. [Accessed: ]
rf:citation
» Blade Templates | Muhammad Iqbal | Sciencx | 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.

You must be logged in to translate posts. Please log in or register.