Apa yang Baru di Laravel 8?

Kita sudah pada tahu bahwa Laravel 8 sudah rilis pada 8 September 2020, dan akan terus mengalami perbaikan hingga 6 bulan kedepan sejak tanggal perilisan. Pada Laravel 8 ini banyak fitur dan perubahan baru yang harus kita ketahui.

Oke langsung saja kita kupas satu persatu fitur apa saja yang baru di Laravel 8 yaitu:

1. Laravel Jetstream

Laravel Jetstream merupakan Ekosistem baru di Laravel 8, yang digunakan untuk membuat scaffolding menggunakan Tailwind CSS dengan memberikan pilihan design livewire atau inertia, yang berarti ini menggantikan scaffolding bootstrap, vue atau react seperti pada versi sebelumnya.

2. Model Directory

Pada Laravel 8 model diletakkan pada direktori khusus di App\Models yang sebelumnya berada pada luar direktori App. Meskipun bisa dikatakan bukan perubahan yang benar-benar baru karena sebelumnya Laravel pernah menerapkan perubahan ini.

3. Model Factory Classes

Pada Laravel 8 model factory sekarang berbasis class, sehingga ada sedikit perbedaan syntax untuk menggunakan model factory.

Dimana versi sebelumnya seperti ini:

factory(User::class, 50)->create();

Menjadi seperti ini:

User::factory()->count(50)->create();
4. Migration Squashing

Perintah artisan baru schema dump yang digunakan jika kita memiliki file migrasi dengan jumlah yang banyak.

Untuk menjalankan semua migrasi cukup jalan perintah:

php artisan schema:dump

Untuk menghapus semua migrasi gunakan perintah:

php artisan schema:dump --prune

5. Job Batching

Fitur job batching berguna untuk memudahkan mengeksekusi sekumpulan pekerjaan. Di Laravel 8 fitur bus batching lebih mudah dengan perintah:

Bus::batch()

6. Improved Rate Limiting

Pada Laravel 8 mengalami peningkatan pada fungsionalitas untuk membatasi request. Dan pembatas tersebut ditentukan menggukan facade RateLimiter.

RateLimiter::for('global', function (Request $request) {
    return Limit::perMinute(1000);
});

7. Improved Maintenance Mode

Saat dalam mode maintenance kita dapat menggunakan opsi secret untuk menentukan kode rahasia.

php artisan down --secret="contoh"

Kita pun dapat mengakses web dengan url:

https://example.com/contoh

8. Pre-Rendering The Maintenance Mode View

Saat mode maintenance kita dapat melakukan pra-render template pilihan kita menggunakan opsi render perintah bawah:

php artisan down --render = "error :: 503"

9. Closure Dispatch / Chain / Catch Method

Dengan menggunakan metode catch terbaru kita dapat memberikan Closure yang akan dijalankan jika antrian Closure gagal diselesaikan dengan berhasil.

use Throwable;

dispatch(function () use ($podcast) {
    $podcast->publish();
})->catch(function (Throwable $e) {
    // This job has failed...
});
Leave a Comment