Tanggal :29 September 2020
Fitur Fitur Baru Laravel 8

Fitur Fitur Baru Laravel 8

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.

Fitur Baru Laravel 8 - Halaman Depan Baru di Laravel 8
Halaman Depan Laravel 8

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.

Hi Saya Amirul, Saya mengajarkan koding melalui screencast di Kawan Koding, saya juga menulis Artikel di Kawan Koding.

2 Comments

  1. Budairi Reply

    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?

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *