Skip to content
Nurfachmi Academy
Nurfachmi Academy

managed by Reza Nurfachmi

  • Home
  • Now
Nurfachmi Academy

managed by Reza Nurfachmi

Membuat Blade Directive Sendiri

Reza Nurfachmi, August 2, 2022June 24, 2025

Sebagai salah satu programmer yang menggunakan Laravel, tentunya setiap hari saya berjibaku dengan file berekstensikan *.blade.php. Tak jarang pula saya membuat beberapa fungsi untuk mempermudah hal-hal yang sulit atau berulang. Salah satu yang sering saya lakukan adalah untuk menampilkan data uang.

Misalnya, dari database hanya menampilkan 150000, tetapi saya ingin hasil akhirnya adalah IDR 150.000.

Normalnya akan melakukan hal seperti ini:

<p>IDR {{ number_format($data->price, 0, ',', '.') }}</p>

Namun, saya melakukannya dengan cara lain, yakni seperti ini:

<p>@idr($data->price)</p>

Bagaimana cara melakukannya?

Insyaallah mudah. Yuk sambil dipraktekkan.

Caranya adalah dengan mendaftarkan directive blade kita ke app/Providers/AppServiceProvider.php di dalam method boot().

<?php

use Illuminate\Support\Facades\Blade;

public function boot()
{
    Blade::directive('idr', function ($value) {
        return "<?php echo 'IDR ' . number_format($value, 0, ',', '.'); ?>";
    });
}

Perhatikan bahwa kita tidak hanya me-return string biasa, melainkan lengkap dengan tag pembuka dan penutup serta echo-nya seakan menuliskan kode PHP di dalam PHP. Mengapa demikian?

Karena directive ini akan dijalankan di tengah-tengah blok kode HTML, meskipun ekstensi filenya .php.

Kalau teman-teman ingin mendaftarkan blade directive lainnya, silahkan tambahkan saja di bawah barisan kode tadi ya.

Atau jika tidak ingin aktif secara global dan hanya untuk file atau controller tertentu, maka cukup tuliskan saja pada method tersebut. Misalnya hanya ingin di controller dan method tertentu, maka bisa begini:

<?php

use Illuminate\Support\Facades\Blade;

public function index()
{
    Blade::directive('idr', function ($value) {
        return "<?php echo 'IDR ' . number_format($value, 0, ',', '.'); ?>";
    });

    return view('blade-directives.controller');
}

Happy coding!

Post Views: 212
Programming BladeLaravelPHP

Post navigation

Previous post
Next post

Leave a Reply Cancel reply

You must be logged in to post a comment.

Categories

  • Database
  • Download
  • General
  • Important
  • Islam
  • Komunitas
  • Programming
  • System

Archives

  • August 2025
  • June 2025
  • January 2025
  • July 2024
  • March 2023
  • November 2022
  • August 2022
  • July 2022
  • October 2010
©2025 Nurfachmi Academy | WordPress Theme by SuperbThemes