Laravel 5.6 sẽ có gì mới
Bài đăng này đã không được cập nhật trong 3 năm
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()
và @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-cmd
và post-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!
All rights reserved