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...
});