DEV Community

CodeWithCaen
CodeWithCaen

Posted on • Originally published at tips.desilva.se

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

Top comments (0)