algolia search

Tìm thấy x bài viết trong xms.

Cập nhật Laravel 5.5 Phần 2: Blade::if() Directives


Viết Blade::if() Directives

Trong phiên bản laravel 5.5 sẽ bổ sung thêm 1 Directives mới hỗ trợ cú pháp if trong blade views.

Cú pháp được viết trong phương thức boot của Service Provider chẳng hạn AppServiceProvider :: boot ():

use Illuminate\Support\Facades\Blade;

Blade::if('admin', function () {
    return auth()->check() && auth()->user()->isAdmin();
});

Với Blade::if() mới này sẽ tạo sự thuận tiện trong code views, dễ đọc hơn rất nhiều và tránh sự lặp đi lặp lại 1 đoạn code nào đó nhiều lần, mà các bạn biết rồi DRY (Don't Repeat Yourself - Đừng lặp lại chính mình) đây hẳn là 1 điều mà tôi mà mong chờ, bây giờ ngoài view chỉ cần viết như thế này:

@admin
    Page này chỉ dành cho Admin
@else
    Welcome Guest. Chào khách, hãy đăng nhập
@endadmin

Nếu như trước đây bạn phải viết nhiều code hơn (xem hình):

Cập nhật Laravel 5.5: Blade::if() Directives
Một đoạn code dài trước khi có Blade::if() Directives

Thì bây giờ trong Laravel 5.5 chỉ còn như thế này thôi:

Blade::if('prod', function () {
    return app()->environment('production');
});

Bạn có thể thêm tham số để trở nên linh động hơn:

Blade::if('env', function ($env) {
    return app()->environment($env);
});

Và lúc này ngoài views template chỉ cần viết thế này thôi:

// Tôi chỉ muốn đoạn mã script này chạy trên server thôi
// Còn trên local thì miễn đi
@env('production')
  
@endenv

// Laravel thật là trất'ss phải không nào các bro!!

 

Đánh giá bài viết

Thích thì like
Cập nhật Laravel 5.5 Phần 2: Blade::if() Directives
5/5 1 votes

Bình luận

Hiển thị bình luận Facebook