Giải pháp chuyển đổi số trọn gói cho doanh nghiệp Việt

Bảy directives hữu dụng trong blade template có thể bạn chưa biết? - Tài liệu lập trình laravel

Tài liệu lập trình laravel

← Toàn bộ tài liệu


Bài 27: Bảy directives hữu dụng trong blade template có thể bạn chưa biết?

Bài 27/28 Xem dạng sách

1,  @includeFirst().

 

Nếu như trước đây bạn cần phải viết một đoạn code khá là dài để kiểm tra view có tồn tại hay không thì mới include và ngược lại...

VD1:

php
copy
@if(view()->exists('view1'))
    @include('view1')
@else
    @include('view2')
@endif

Thì thay vì viết dài như thế bạn có thể sử dụng directive @includeFirst() cho ngắn gọn với cú pháp như sau:

php
copy
@includeFirst(['view1, view2, ..., viewN'], data)

Trong đó:

  • view1, view2, ... là các view mà chúng ta muốn include. Blade sẽ chỉ include duy nhất một view đúng đầu tiên mà nó check được.
  • data là một mảng chứa dữ liệu truyền vào view.

VD2: Rút ngắn ví dụ 1 với @includeFirst()

php
copy
@includeFirst(['view1', 'view2']);

2, @includeIf()

 

Nếu bạn muốn kiểm tra view tồn tại thì mới include thì hãy sử dụng @includeIf() thay vì phải dùng if directive để check.

VD3:

php
copy
@includeIf('view', ['key' => 'data'])

3, @includeWhen()

Nếu như bạn muốn có một tham số để check xem view này có nên được include hay không thì @includeWhen() sẽ giúp bạn.

VD4:

php
copy
@include($flag, 'view', ['some' => 'data'])

Trong ví dụ trên nếu như $flag trả về true thì nó mới include view.

4, @auth.

 

Thông thường để check auth trong blade template thì chúng ta thường sử auth() helper để check.

VD5:

php
copy
@if(auth()->user())
    // The user is authenticated.
@endif

Nhưng nếu bạn muốn ngắn gọn và minh bạch hơn thì có thể sử dụng directive @auth trong blade template.

VD5:

php
copy
@auth
    // The user is authenticated.
@endauth

5, @guest.

Tương tự như @auth() directive thì đối với guest blade cũng cung cấp cho chúng ta directive @guest.

VD6:

php
copy
// normal
@if(auth()->guest())
    // The user is not authenticated.
@endif

// shortcode
@guest
    // The user is not authenticated.
@endguest

Và nó cũng có cơ chế else

php
copy
@guest
    // The user is not authenticated.
@else
    // The user is authenticated.
@endguest

6, @csrf.

 

Thay vì phải dùng:

php
copy
{{ csrf_field() }}

như cũ thì bạn có thể chuyển đổi nó về dạng directive cho ngắn gọn như sau:

php
copy
@csrf

7, @method().

Tương tự bạn cũng có thể thay thế:

php
copy
{{ method_field('DELETE') }}

về dạng directive như sau:

php
copy
@method('DELETE')

Sơ đồ quan hệ các bảng

Table Name: {{table.name}}
Num Name Type
{{field_index+1}}
{{field.name}} {{field.type}}

Hỏi đáp

Gửi với tên {{comment_full_name}}

Chưa có câu hỏi nào cho bài này.

Zalo 0936.006.058 Hotline 0936.006.058