Assalamualaikum Warohmatulloh Wabarokatuh, tepat tanggal 8 September 2020 Laravel merilis versi terbaru, lalu apa saja sih fitur – fitur baru Laravel 8 dan apa yang berubah.
Laravel Installer
Rilis Laravel 8 membawa update untuk Laravel Installer ke versi 4.0. Dalam versi terbaru ini Laravel Installer tidak lagi mengunduh dari arsip pada server Laravel tapi menggunakan composer create-project
. Untuk yang menggunakan Laravel Installer versi lama, segera perbarui versinya karena servernya akan dimatikan dalam waktu dua bulan mendatang. Sumbernya dari tweet Taylor Otwell.
Halaman Depan Baru Laravel 8
Setelah menginstal Laravel dan menjalankan proyeknya, kita akan menemukan halaman depan yang baru yang lebih keren dari sebelumnya. Laravel menggunakan TailwindCSS untuk versi 8 ini.
Struktur Model Laravel 8
Berikutnya, mungkin dari sebagian banyak kita kurang nyaman dengan posisi file model yang berada tepat dalam folder app
dan memindahkanya ke dalam folder app/Models
. Untuk saat ini secara default Laravel akan memposisikan file model dalam folder app/Models
.
Perintah Artisan Schema Dump
Mungkin penambahan fitur ini juga cukup bermanfaat ketika kita memiliki banyak sekali file migration. Menggunakan perintah php artisan schema:dump
Laravel akan membuat file dump sql dari migration kita. Jika kita ingin sekaligus menghapus file migrationnya gunakan flag --prune
. Ketika kita sudah menjalankan schema:dump
maka migration awal akan menggunakan file sql
hasil dump.
Factory Berbasis Class
Jika sebelumnya kita memanggil factory
menggunakan helper factory()
, mulai Laravel 8 kita sudah tidak bisa menggunakannya lagi.
Jika sebelumnya kita menulis. dengan cara seperti ini.
factory(Model::class)->create();
Maka pada Laravel 8 penulisannya seperti ini.
use App\Models\User;
User::factory()->count(50)->create();
Penulisan Route
Jika dalam versi sebelumnya kita dapat menulis route menggukanan string seperti contoh ini :
Route::get('/', 'TestController@index[');
Maka pada Laravel 8 kita sudah tidak bisa lagi menggunakan cara tersebut. Hal ini karena penghapusan namespace
untuk route pada RouteServiceProvider
. Lalu bagaimana cara menulisnya sekarang? sebenarnya cara ini juga berlaku untuk Laravel versi sebelumnya.
use App\Http\Controllers;
Route::get('/', [TestController::class], 'index');
Lalu keuntungannya apa dengan cara penulisan tersebut? hal paling mudah dan terlihat adalah kita bisa melakukan go to ke file controller dari text editor kita. Walaupun Visual Studio Code memiliki ekstensi yang bisa kita gunakan untuk melakukan go to dengan model penulisan route yang lama.
Peningkatan Untuk Mode Maintenance
Mode maintenance mendapatkan peningkatan yang cukup keren nih. Ketika kita jalankan php artisan down pada Laravel versi sebelumnya maka secara total aplikasi kita tidak dapat diakses. Tapi Laravel 8 memberikan pilihan agar aplikasi kita dapat tetap diakses dengan kata rahasia.
php artisan down --secret="rahasia"
Maka kita bisa mengakses dengan url seperti ini.
https://kawankoding.com/rahasia
Selain itu ada juga pre-render untuk halaman maintenance, jadi ketika kita melakukan hal semisal composer udpate maka sekarang user tidak akan melihat error lagi.
Time Travel Test Helper
Fitur ini terinspirasi dari Ruby on Rails. Untuk kebutuhan testing mungkin kita butuh untuk memodifikasi waktu yang ada.
public function testTimeCanBeManipulated()
{
// Travel into the future...
$this->travel(5)->milliseconds();
$this->travel(5)->seconds();
$this->travel(5)->minutes();
$this->travel(5)->hours();
$this->travel(5)->days();
$this->travel(5)->weeks();
$this->travel(5)->years();
// Travel into the past...
$this->travel(-5)->hours();
// Travel to an explicit time...
$this->travelTo(now()->subHours(6));
// Return back to the present time...
$this->travelBack();
}
Laravel Jetstream
Selain membawa perubahan kecil, terdapat juga perubahan yang cukup signifikan yaitu penambahan Laravel Jetstream, sebuah sulap terbaru dari Laravel. dengan Laravel Jetstream kita dapat mengawali proyek dengan sangat nyaman. Laravel Jetstream menyediakan hal – hal yang sebelumnya ada pada UI dan beberapa peningkatan. Ada login, register, lupa password, verifikasi email, autentikasi 2 faktor, manajemen sesi browser, API token menggunakan Sanctum, dan foto profil.
Jika kawan-kawan ingin memahami lebih detail Kawan Koding punya nih video ulasan tentang. Laravel Jetstream, silakan menonton.
Setelah melihat pembahasan singkat tentang fitur fitur baru Laravel 8. Bagaimana menurut kawan – kawan? keren kan? Semangat ya belajar terus 🤪😜.
Assalamualaikum Warohmatulloh Wabarokatuh.
Mas, saya saat ini punya project pakai Laravel 7. Sebagian UI saya buat pakai Vue JS. Sudah rilis publik, sih. Librari yg sya gunakan cuma Image/Intervension.
Kalau diupgrade ke versi 8 kira-kira gimana ya resikonya? Dampak paling fatal kira-kira bagian mana, ya?
Saya belum melakukan upgrade versi, jadi tidak bisa memberikan pandangan apapun, harusnya jika mengikuti upgrade guides di dokumentasinya aman. Biasanya.
Di up bisa mas, cuman disetting aja namespacenya
Karena kalo urusan route ngaruh banget perubahannya