New `@bool` Blade directive in Laravel!

codewithcaen

CodeWithCaen

Posted on October 20, 2024

New `@bool` Blade directive in Laravel!

The new @bool Blade directive

Laravel's Blade templating engine is getting a handy new feature: the @bool directive. This allows you to directly print boolean values into strings or use them in object construction, making your JavaScript integrations cleaner and more efficient.

Here's how you can use it:

<script>
    let config = {
        isActive: @bool($isActive),
        hasAccess: @bool($hasAccess)
    };
</script>
Enter fullscreen mode Exit fullscreen mode

When compiled, this Blade code will output clean JavaScript:

<script>
    let config = {
        isActive: true,
        hasAccess: false
    };
</script>
Enter fullscreen mode Exit fullscreen mode

Use cases

The @bool directive is particularly useful in several scenarios:

  1. JavaScript configuration objects
  2. Alpine.js data binding
  3. HTML attributes requiring boolean values

For instance, with Bootstrap:

<button aria-haspopup="@bool($hasPopup)" aria-expanded="@bool($isExpanded)">
    Dropdown button
</button>
Enter fullscreen mode Exit fullscreen mode

Availability & PR

While this feature isn't released yet, it's expected to be available soon. Keep an eye on Laravel's official channels for the announcement. In the meantime, check out the merged PR on GitHub! https://github.com/laravel/framework/pull/53179

Conclusion

The @bool directive is a small but powerful addition to Blade that will make working with boolean values in your templates much more convenient.

If any part of this post was helpful, please let me know and give me a follow on Twitter/X where I'm @CodeWithCaen

💖 💪 🙅 🚩
codewithcaen
CodeWithCaen

Posted on October 20, 2024

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related