Những tính năng mới của Laravel 5.3

Ngoc Huynh

Vừa qua, tại Laracon (Mỹ), Taylor Otwell đã giới thiệu về những tính năng mới của phiên bản Laravel 5.3, bao gồm: Laravel Scout, Laravel Passport, Laravel Mailable, và Laravel Notifications.

Trong khuôn khổ bài viết hôm nay, chúng tôi xin giới thiệu đến với các bạn về bốn tính năng mới này.

Laravel Scout

Laravel Scout là full-text search dựa trên driver dành cho Eloquent. Ngoài ra, nó còn hỗ trợ Algolia, và vì nó là full-text search dựa trên driver nên bất cứ ai cũng có thể tự tạo sự tích hợp (integration) của riêng mình với các hệ thống full-text search khác.

Scout hoạt động bằng cách thêm tính chất “dễ tìm” vào các model đã có của bạn. Sau đó, chỉ việc đồng bộ data với các dịch vụ tìm kiếm như sau:

php artisan scout:import App\Post

Sau đó bạn có thể tìm kiếm model của mình với:

Post::search(‘Alice’)->get();

Thậm chí bạn có thể paginate:

Post::search(‘Alice’)->paginate()

Và còn thêm vào các mệnh đề “where” đơn giản:

Post::search(‘Alice’)—>where(‘acount_id’, ‘>’, 1)->paginate()

Laravel Mailable

Laravel Mailable là một Mail class mới dùng để gửi các email với nhiều thông tin hơn:

Mail::to(‘laravel@example.com’)->send(new OrderComplete);

Dĩ nhiên bạn cũng có thể sử dụng tất cả các tính năng mail khác:

Mail::to(‘laravel@example.com’)->cc(‘john@example.com’)->queue(new OrderComplete);

Laravel Notifications

Laravel Notifications cho phép bạn thực hiện cập nhật một cách nhanh chóng thông qua các dich vụ như Slack, SMS hoặc Email.

Notifications có đính kèm responsive transactional email template. Trong notification class, tất cả những gì bạn cần làm để gửi message là đoạn code sau:

$this->line(‘Thank you for joining’)
->action(‘Button Text’, ‘http://url.com’)
->line(‘If you have any questions please hit reply’)
->success()

Hoặc nếu là lỗi:

$this->line(‘Sorry we had a problem with your order’)
->action(‘Button Text’, ‘http://url.com’)
->error()

Laravel Passport

Laravel Passport là một package tùy chọn (optional package), oAuth 2 server đầy đủ, sẵn sàng để sử dụng.

Bạn có thể thiết đặt phạm vi của riêng mình, Vue.js components để tạo token, hủy bỏ tokens,…

Chia sẻ bài viết ngay