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

Đăng bởi:

Lưu Minh Tuân

Đăng ngày:

Feb 27, 2021

Đăng ở:

Thủ Thuật Thiết Kế

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

@foreach

@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

@php

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

@isset & @empty

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

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

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

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

@push & @stack

    @stack('scripts')


// Trong view con
@push('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

Hy vọng những tip này sẽ giúp bạn viết được Blade View tốt hơn. Nếu bạn có một mẹo nào đó, hãy chia sẻ với mọi người qua phần bình luận phía dưới nhé.

Nguồnhttps://simplestweb.in/blog/10-underused-laravel-blade-directives?ref=LaravelCollections.com

default_image
Tác giả: Lưu Minh Tuân
ADMIN

Bài viết liên quan

Bình luận

Để lại bình luận

Email và số điện thoại sẽ không được công khai. Những trường bắt buộc được đánh dấu *

Repository deleted Your repository has remove
Loading
Bạn cần hỗ trợ?