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>
When compiled, this Blade code will output clean JavaScript:
<script>
let config = {
isActive: true,
hasAccess: false
};
</script>
Use cases
The @bool directive is particularly useful in several scenarios:
- JavaScript configuration objects
- Alpine.js data binding
- HTML attributes requiring boolean values
For instance, with Bootstrap:
<button aria-haspopup="@bool($hasPopup)" aria-expanded="@bool($isExpanded)">
Dropdown button
</button>
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)