Có gì mới ở Laravel 8

Có gì mới ở Laravel 8

Trình duyệt của bạn không tương hỗ nghe audio .

Bài viết đầu tiên này chúng ta sẽ tìm hiểu về những tính năng mới chính có trong laravel 8. Chúng ta sẽ khái quát 1 loạt các tính năng sau đó sẽ đi vào chi tiết từng bài học các bạn nhé!

1. Trang welcome mới

Trang welcome default mới của Laravel 8 sử dụng TailwindCSS thay vì sử dụng bootstrap như trước. Đây là một css framework cũng khá mới và nổi ở thời điểm hiện tại.

Bạn đang đọc: Có gì mới ở Laravel 8

2. Thư mục Models.

Laravel 8 mặc định đã có riêng thư mục Models ( app / Models ) bên trong thư mục app thay vì chỉ nằm trơ trọi trong thư mục như những phiên bản cũ nữa

3. Model Factory Class.

Laravel đã nâng cấp cải tiến factory thành những class cho code readable hơn thay vì nun class như trước kia. Đồng thời relation tư vấn. cũng được Laravel tối ưu hơnVí Dụ : Khai báo UserFactory .

{

    /**
     * The name of the factory’s corresponding model.
     *
     * @var string
     */
    protected $model = User::class;
    /**
     * Define the model’s default state.
     *
     * @return array
     */
    public function definition()
    {
        return [
            ‘name’ => $this->faker->name,
            ’email’ => $this->faker->unique()->safeEmail,
            ’email_verified_at’ => now(),
            ‘password’ => ‘$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi’, // password
            ‘remember_token’ => Str::random(10),
        ];
    }

    /**
     * Indicate that the user is suspended.
     *
     * @return \Illuminate\Database\Eloquent\Factories\Factory
     */
    public function suspended()
    {
        return $this->state([
            ‘account_status’ => ‘suspended’,
        ]);
    }
}

4. Migration Squashing.

Laravel 8 có tính năng được cho phép quy đổi toàn bộ file migation vào một file SQL và file này sẽ nằm trong thư mục database / schema để quản trị những migration thuận tiện hơn. Tuy nhiên công dụng nằng chỉ hỗ trợMySQL và PostgreSQL

5. Job Batching ( Nhóm các job)

Job Batching được cho phép tất cả chúng ta gom nhóm một loạt những job vào một batch và thực thí chúng đồng thời tính năng này cũng tạo ra thêm một loại những sự kiện cho batch. Ví dụ như then, catch, finally ..

6. Tối ưu Rate limit.

Laravel 8 trở lên cũng đã cho phép chúng ta tạo ra các rate limit một các đơn giản qua RateLimiter 

( Illuminate \ Support \ Facades \ RateLimiter ) .Bên cạnh đó tất cả chúng ta cũng hoàn toàn có thể cho logic vào trong limiter .Ví Dụ : Khai báo một rate limit .

use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Support\Facades\RateLimiter;
RateLimiter::for('global', function (Request $request) {
    return Limit::perMinute(1000);
});

Khi muốn sử dụng rate limit cho route thì tất cả chúng ta chỉ cần khai báo middleware với name throttle : global

7. Cải tiến event listen.

Giờ đây bạn đã hoàn toàn có thể lắng nghe sự kiện qua Event :: listen ( ) mà không cần khai báo file listener .VD : Khai báo listen sự kiện PodcastProcessed .

use App\Events\PodcastProcessed;
use Illuminate\Support\Facades\Event;
Event::listen(function (PodcastProcessed $event) {
    //
});

Và nếu bạn muốn đưa một listen vào queue thì trong phiên bản laravel 8 này có tăng trưởng thêm function queueable được cho phép tất cả chúng ta đưa một callable vào queue .

VD: Đưa listen trên vào queue.

use App\Events\PodcastProcessed;
use function Illuminate\Events\queueable;
use Illuminate\Support\Facades\Event;
Event::listen(queueable(function (PodcastProcessed $event) {
    //
}));

8. Tối ưu artisan serve.

Laravel 8 đã code thêm tính năng detect biến hóa trong file. env nếu đổi khác nó sẽ tự động hóa restart lại cho tất cả chúng ta .

9. Lời kết:

Larevel 8 trở đi đã có những bước tiến khác xa so với bản cũ, trong một bài viết khó có thể nói hết được những điểm này. Chúng ta sẽ tìm hiểu dần các bạn nhé!