10 directives sử dụng Laravel Blade tốt hơn

Laravel Blade là công cụ mẫu được xây dựng trong framework. Nó làm cho việc thực hiện với HTML trở nên dễ dàng. Chúng ta đã làm việc với Laravel, nhưng chưa chắc đã nhận ra một số tính năng của Blade. Mình muốn chia sẻ với bạn 10 directives sử dụng Laravel Blade sẽ làm sạch code của bạn và tiết kiệm thời gian trong quá trình code. Let's go

@forelse

@if ($users->count() > 0)
    @foreach ($users as $user)
        <li>{{ $user->name }}</li>
    @endforeach
@else
    <p>No users</p>
@endif

thay bằng

@forelse ($users as $user)
    <li>{{ $user->name }}</li>
@empty
    <p>No users</p>
@endforelse

@each

@foreach ($users as $user)
    @include('components.userdetail', ['user' => $user])
@endforeach

thay bằng

@each ('page.user_detail', $users, 'user')
    // hoặc
@each ('page.user_detail', $users, 'user', 'page.user_notfound')

@json

<script>
    var users = {!! json_decode($users) !!};

    // thay bằng
    var users = @json($users);
</script>

@verbatim

<div class="content">
    Hello, @{{ name }}.
    Date, @{{ date }}
</div>

thay bằng

@verbatim
    <div class="content">
        Hello, {{ name }}.
        Date, {{ date }}
    </div>
@endverbatim

@isset & @empty

@if (isset($records))
        // $records dc định nghĩa và không null
    @endif

@if (empty($records))
    // $records là rỗng
@endif

thay bằng

@isset ($records)
    // $records dc định nghĩa và không null
@endisset

@empty ($records)
    // $records là rỗng
@endempty

@php

@php
    // chạy hàm php trong view
@endphp

@push & @stack

<body>
    @stack('scripts')
</body>

 // trong view con
@push('scripts')
    <scripts src="/example.js"></scripts>
@endpush

@inject

 // Inject bất kỳ dịch vụ nào từ Service Container
@inject('metrics', 'App\Services\MetricsService')

<div>
    Monthly Revenue: {{ $metrics->monthlyRevenue() }}
</div>

@includeWhen

@if ($viewSection)
    @include('page.section', ['some' => 'data'])
@endif

thay bằng

@includeWhen($viewSection, 'page.section', ['some' => 'data'])

@hasSection

// Kiểm tra nếu 1 section có mặt trong view con
@hasSection('navigation')
    <div class="pull-right">
        @yield('navigation')
    </div>

    <div class="clearfix"></div>
@endif

Kết

Hy vọng những tip này sẽ giúp bạn viết được Blade View tốt hơn.
Nguồn: https://simplestweb.in/blog/10-underused-laravel-blade-directives?ref=LaravelCollections.com