Unpopular Laravel Blade Directives

Blade is the template engine that comes with any Laravel installs. Using Blade will make displaying data to HTML a breeze.

Following are some Blade directives that aren’t commonly used despite their advantages:


The @each directive iterates through a collection and assigns a given view to a single item.

It can even send the user to an error-catching page if there is no data.

@each('task.single', $tasks, 'task')
@each('task.single', $tasks, 'task', 'task.nodata')


This loop directive validates if there is data in a collection before printing it out.

@forelse ($sales as $sale)
    <div>{{ $sale->salesperson }}</div>
    <p>There is no sale</p>


The @json directive accepts the same arguments as PHP’s json_encode function.

    var data = @json($array);
    var data = @json($array, JSON_PRETTY_PRINT);

It is recommended to only use the @json directive to render existing variables as JSON.

@isset & @ empty

Developers don’t often use these 2 directives alone, then tend to wrap them with the @if directive in order to determine whether a variable exists or not. Actually, we don’t need the @if to use them for condition checking.

    Loop books here

    There is no book.


We use @ symbol before a curly brace to inform Blade to avoid rendering that variable that should be used by other JavaScript frameworks. Blade provides the @verbatim directive, which can be used if you are using JavaScript variables in a large portion of your template.

    <div class="my-wrapper">
        Task: {{ task_name }}.


The @php directive allows embedding PHP code into your views.

    $a = 2;
    $b = $a * 10;

@push & @stack

Blade allows developers to push to named stacks which can be rendered somewhere else in another view or layout. 

    <script src="/custom-script.js"></script>
    <!-- Head Contents -->


The @hasSection directive determines if a template inheritance section has content.

    <div class="pull-right">

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top