12/08/2018, 15:08

Laravel 5.5 sẽ có gì mới

Phiên bản tiếp theo của Laravel là Laravel 5.5 (hiện tại là 5.4) được lên kế hoạch phát hành vào tháng 7 năm 2017, vậy sẽ có gì đáng mong đợi ở phiên bản này? 1. Laravel 5.5 sẽ yêu cầu PHP 7.0+ Nếu bạn vẫn đang sử dụng PHP 5.x trên máy của mình thì bạn nên bắt đầu suy nghĩ về việc nâng cấp lên ...

Phiên bản tiếp theo của Laravel là Laravel 5.5 (hiện tại là 5.4) được lên kế hoạch phát hành vào tháng 7 năm 2017, vậy sẽ có gì đáng mong đợi ở phiên bản này?

1. Laravel 5.5 sẽ yêu cầu PHP 7.0+

Nếu bạn vẫn đang sử dụng PHP 5.x trên máy của mình thì bạn nên bắt đầu suy nghĩ về việc nâng cấp lên PHP 7+ đi thôi, PHP 7 tuyệt hơn PHP 5.x nhiều và cũng vì Laravel 5.5 sẽ yêu cầu PHP 7+ đấy

2. Laravel 5.5 sẽ là bản LTS Release tiếp theo

Phiên bản Laravel 5.1 là phiên bản LTS (Long Term Support - Hỗ trợ dài hạn) chính thức đầu tiên của Laravel và Laravel 5.5 sẽ là phiên bản LTS tiếp theo.

3. "vendor:publish" command sẽ xuất hiện nhắc nhở khi chạy

Với phiên bản hiện tại, command vendor:publish sẽ publish mọi thứ nó tìm thấy, bao gồm configs, views, migrations và nhiều hơn nữa, nhưng trong phiên bản Laravel 5.5, command này sẽ nhắc nhở bạn để chọn lựa những gì bạn thực sự muốn publish. Ngoài ra bạn cũng có thể thêm flag --all hoặc --provider để chỉ cho nó biết bạn muốn publish những gì.

4. Bạn có thể render trực tiếp Mailables lên trình duyệt

Bạn đã từng lặp đi lặp lại cùng 1 việc là gửi mãi một bức thư để xem giao diện của nó như thế nào? Quên đi, với Laravel 5.5 mọi việc easỳ hơn nhiều. Để tạo UserWelcome Mailable:

php artisan make:mail UserWelcome --markdown=emails.user.welcome

Và bạn có thể xem ngay giao diện của "bức thư" này bằng cách:

Route::get('/demo', function () {
    return new AppMailUserWelcome();
});

Truy cập vào domain/demo và mọi thứ hiện ra Thật quá easỳ đúng không nào!

5. Tự viết theme cho Mailables

Tạo một file css chứa định dạng bạn mong muốn cho Mailables theo đường dẫn:

resources/views/vendor/mail/html/themes/my-theme.css Sau đó update lại file cấu hình mail.php như sau

'markdown' => [
    'theme' => 'my-theme',
    'paths' => [
        resource_path('views/vendor/mail'),
    ],
],

Cuối cùng, đơn giản là sử dụng theme cho mail của bạn thôi

class SendInvoice extends Mailable
{
    protected $theme = 'my-theme';
    ...
}

6. Laravel Migrate Fresh Command

Khi bạn chạy lệnh php artisan migrate:refresh

Rolling back: 2014_10_12_100000_create_password_resets_table
Rolled back:  2014_10_12_100000_create_password_resets_table
Rolling back: 2014_10_12_000000_create_users_table
Rolled back:  2014_10_12_000000_create_users_table
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table

Và khi chạy lệnh php artisan migrate:fresh mới trên Laravel 5.5

Dropped all tables successfully.
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table

Sự khác biệt là command migrate:fresh sẽ drop toàn bộ table thay vì rollback lại các migrate, đỡ tốn thời gian hơn nhiều.

7. Adds Frontend Presets

Bắt đầu từ phiên bản 5.3, Laravel đã được bao gồm Bootstrap và Vue.js để bạn có thể nhanh chóng tạo một ứng dụng bạn mong muốn. Sang phiên bản 5.5 bạn sẽ có thể lựa chọn để sử dụng gì và loại bỏ gì khỏi ứng dụng của mình với command preset

React Preset

php artisan preset react

Sau khi chạy, nó sẽ thay thế Vue.js bắng React trong ứng dụng của bạn.

Bootstrap Preset

php artisan preset bootstrap

Lệnh này sẽ chỉ giữ lại Bootstrap CSS, không còn Vue.j hay React...

Loại bỏ cả Bootstrap và Vue.js

php artisan preset none

Sẽ không còn gì nữa, không Bootstrap, không Vue.js

Laravel 5.5 sẽ rất đáng mong đợi phải không mọi người!

Xem tiếp Phần 2: https://viblo.asia/blaysku/posts/6J3ZgD9xlmB

0