Laravel 5.6 sẽ có gì mới

Tiếp tục với series Laravel sẽ có gì mới 😄, hôm nay mình sẽ tìm hiểu một số thứ có thể sẽ xuất hiện ở phiên bản Laravel tiếp theo, v5.6 (hiện tại là v5.5)


Một số Blade Directives mới

Laravel 5.6 sẽ xuất hiện 2 form blade directives mới gồm @method()@csrf Thay vì code như dưới đây ở các phiên bản trước,

<form>
  {{ csrf_field() }}
  {{ method_field('PUT') }}
  <!-- ... -->
</form>

Ở v5.6 bạn có thể code như sau:

<form>
  @csrf
  @method('put')
  <!-- ... -->
</form>

Tất nhiên ở Laravel 5.6 thì các helper kia vẫn còn, và việc quyết định sử dụng cách nào là phụ thuộc vào bạn. :slight_smile:

Command Artisan Optimize sẽ không còn nữa

Lệnh optimize php artisan optimize đã không còn được trọng dụng ở phiên bản 5.5, và nó sẽ được loại bỏ ở phiên bản 5.6 sắp tới. Bằng chứng cho việc bị hắt hủi ở phiên bản 5.5 đó là, bạn có thể so sánh composer.json của laravel 5.5 và các phiên bản trước, ở v5.5 command php artisan optimize đã bị loại khỏi post-install-cmdpost-update-cmd

// composer.json Laravel 5.4

"scripts": {
    "post-root-package-install": [
        "php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "php artisan key:generate"
    ],
    "post-install-cmd": [
        "Illuminate\\Foundation\\ComposerScripts::postInstall",
        "php artisan optimize"
    ],
    "post-update-cmd": [
        "Illuminate\\Foundation\\ComposerScripts::postUpdate",
        "php artisan optimize"
    ]
},

// composer.json Laravel 5.5

    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    },

Tức là ở 5.5, optimize vẫn còn nhưng không làm gì cả và nó sẽ sớm được xóa bỏ ở 5.6. Lí giải cho việc này, laravel upgrade guide có giải thích:

With recent improvements to PHP op-code caching, the optimize Artisan command is no longer needed. You should remove any references to this command from your deployment scripts as it will be removed in a future release of Laravel.

Còn tiếp, cảm ơn mọi người đã xem! 😄