Appstract Laravel Blade Directives
Published on by Paul Redmond
With no shortage of excellent blade extensions circulating in the community, you should also check out the appstract/laravel-blade-directives package.
Whether you end up installing the package or copying a few that you like to your project, here are some notable directives from the project:
Quickly output a font-awesome icon:
@fa('address-book')
Check if the current route name matches:
@routeis('webshop.checkout') Do something only on the checkout@endrouteis
Only show when $variable isset
and true.
@istrue($variable) This will be echoed@endistrue
Or you can do it inline:
@istrue($variable, 'This will be echoed')
@dump
and @dd
:
@dump($var)@dd($var)
Load the contents of a CSS or js file inline in your view:
@inline('/js/manifest.js')
Create a <script/>
element with or without a js path:
@script alert('hello world')@endscript @script('/js/app.js')
Create a <style/>
element or <link/>
element with a css path:
@style body { background: black }@endstyle @style('/css/app.css')
Same as @push but will include content one time only. Useful for repeatable blocks following the syntax “stack-name:group-name”:
@pushonce('js:foobar') <script src="{{ asset('/js/foobar.js') }}"></script> @endpushonce()
What’s Next?
To learn more about this package check out the GitHub Repository which includes all the instructions and everything you’ll need to get started. We’ve also covered Appstract’s Laravel OPCache package, which you should check out as well.
The framework itself has introduced some new convenient Blade features recently. In Laravel 5.5 LTS, the @auth
and @guest
directives were added. Another nice feature added to 5.5 is adding conditionals with Blade::if()
. In 5.5.3, the @json
directive was added to make outputting JSON objects in JavaScript easier.