Appstract Laravel Blade Directives

Packages

October 3rd, 2017

Appstract Laravel Blade Directives

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.

Filed in:

Paul Redmond

Full stack web developer. Author of Lumen Programming Guide and Docker for PHP Developers.