Kenali Fitur-Fitur Terbaru Laravel 11

Hai Sobat BWA!🙌

Laravel versi 11 telah dirilis pada tanggal 12 Maret 2024 loh! Dengan adanya versi terbaru dari Laravel, ada beberapa perubahan dari versi sebelumnya. Contoh sederhananya, ada sedikit perubahan pada cara pembuatan route dan perubahan welcome screen Laravel. Laravel 11 dirancang agar proses web development lebih mudah dikelola dan diakses. Nah, pasti kalian penasaran kan apa aja sih fitur-fitur terbaru Laravel 11?

Simak artikel berikut sampai habis ya!

1. Adanya Perintah Artisan Baru

Pada Laravel 11 tersedia beberapa artisan command terbaru yang semakin mempermudah kita sebagai developer.

  • php artisan make:trait = Untuk membuat PHP Trait
  • php artisan:make interface = Untuk membuat PHP Interface
  • php artisan make:class = Untuk membuat PHP Class
  • php artisan make:enum = Untuk membuat PHP Enum

2. Struktur Folder Lebih Sederhana

2(4).jpg

Jika dibandingkan dengan Laravel 10, struktur folder pada Laravel 11 lebih sederhana, sehingga aplikasi kita lebih terstruktur karena mengurangi adanya file-file yang mungkin jarang digunakan. Contohnya saja pada folder app, Laravel 11 hanya menampilkan 3 folder utama yaitu Http, Models, dan Providers.

3. Default Route yang Berbeda

Jika pada Laravel 10 tersedia 4 macam route, berbeda dengan Laravel 11 yang hanya menyediakan route untuk Web dan Console. Namun, jika kita ingin menambahkan API routing, kita bisa menambahkannya menggunakan perintah php artisan install:api dan perintah php artisan install:broadcasting untuk menambahkan routes channel.php.

4. File Config Lebih Sederhana

Pada Laravel 11, beberapa config file dihapus terutama pada beberapa file yang jarang digunakan. Berikut ini adalah list config file yang ada pada Laravel 11.

3(4).jpg

Namun, jika kita tetap membutuhkan file config yang lain, kita tetap bisa menggunakannya dengan menggunakan perintah php artisan config:publish .

5. Perubahan pada Middleware

Jika sebelumnya file Middleware terletak pada direktori app/Http, pada Laravel 11 semua middleware tersebut disimpan pada Framework Laravel sendiri. Jika kita ingin mengelola middleware, kita bisa menggunakan class Middleware pada file bootstrap/app.php.

4(4).jpg

6. Tampilan “Welcome” yang Berubah

5(3).jpg

Meskipun hal ini tidak terlalu penting, perbedaan ini cukup signifikan jika dibandingkan Laravel 10. Laravel memperbarui tampilan “welcome” nya pada pembaruan versi kali ini.

7. Perubahan pada Providers

6(3).jpg

Pada Laravel 10, file Providers terletak pada direktori app dan memuat banyak file yang mungkin hanya kita gunakan sebagian. Dan jika ingin membuat Service Provider, kita perlu menambahkannya pada file config/app.php. Nah, pada Laravel 11, tidak ada lagi file Providers yang terletak pada folder app. Kita hanya perlu menggunakan file yang ada pada direktori bootstrap/providers.php jika ingin menambahkan Service Provider.

8. Penggunaan Exception Handler

Pada Laravel 10, Exception Handler disimpan pada direktori Exceptions/Handler.php. Sekarang, cara menambahkan Exception Handler lebih mudah dan semua digabung pada file bootstrap/app.php.

9. Model Casts

Attribute Casting adalah sebuah fitur pada Eloquent untuk melakukan konversi tipe data secara otomatis dari tipe data di database dengan tipe data di PHP. Pada Laravel 10, defaultnya akan menggunakan attribute $casts pada model, sedangkan pada Laravel 11 diubah menjadi Function casts. Hal ini membuat kita lebih fleksibel dalam menggunakan casting, contohnya seperti mengimplementasikan class atau function lain.

protected $casts = [
        'email_verified_at' => 'datetime',
        'password' => 'hashed',
    ];

Penggunaan atribut $casts pada Laravel versi 10

protected function casts(): array
    {
        return [
            'email_verified_at' => 'datetime',
            'password' => 'hashed',
        ];
    }

Penggunaan function casts pada Laravel 11

10. Default Database

Saat menggunakan Laravel 11, secara default Laravel akan menggunakan database Sqlite. Namun, jika kita ingin menggunakan MySQL sebagai database, kita tetap bisa menggunakannya dengan mengganti DB_CONNECTION pada file .env .

7(2).jpg

11. Slim Migration

Pada project yang dibuat dengan Laravel 11, hanya ada 3 migration yang dibawa secara default yaitu:

9(1).jpg

Sedangkan pada versi sebelumnya, ada file migrasi untuk reset_tokens dan personal_access_tokens .

8(2).jpg

12. Console Kernel Dihapus

Pada Laravel 11, file app/Console/Kernel.php sekarang sudah tidak ada lagi. Sekarang, file console tersedia secara default pada direktori routes dan semua yang semula dilakukan pada file Kernel.php sekarang dipindahkan pada file Console.php.

Perbedaan Laravel 10 dan Laravel 11

Laravel 10Laravel 11
Menggunakan MySQL sebagai default databaseDefault database menggunakan Sqlite
Terdapat banyak file Providers yang mungkin jarang digunakanPenggunaan Providers diatur dalam file bootstrap/providers.php
File Middleware terletak dalam direktori app/HttpPengelolaan Midlleware menggunakan classdalam file bootstrap/app.php
Terdapat 4 file dalam direktori routes (api.php, web.php, channels.php, console.php)Hanya ada 2 file dalam direktori routes dan jika ingin menggunakan API routing harus install terlebih dahulu
Terdapat banyak direktori pada folder appStruktur folder app lebih sederhana

Kesimpulan

Itulah beberapa perubahan dari Laravel 10 ke Laravel 11 yang tidak terlalu signifikan. Banyaknya struktur folder yang diubah, yaitu tidak ada lagi file Kernel.php, route api yang harus di-install secara manual, dan adanya perubahan pada folder Middleware. Beberapa perubahan tersebut pastinya dilakukan agar proses development lebih cepat dan efisien. Dengan banyaknya alat dan fitur baru yang disertakan, Laravel akan tetap menjadi pilihan utama bagi developer untuk membangun sebuah aplikasi website yang kuat. Untuk mempelajari lebih lanjut tentang Laravel 11, kalian dapat mempelejarinya melalui Laravel Documentation Versi 11. Di sana, sudah tersedia banyak documentation yang nantinya akan kalian gunakan sebagai referensi dalam pengembangan aplikasi web.

Semoga artikel ini dapat bermanfaat ya! Dan bagi kalian yang tertarik untuk mempelajari lebih lanjut tentang Laravel, kalian bisa mempelajarinya secara gratis melalui BuildWithAngga loh! Jangan lupa kepoin kelas-kelasnya ya! Sampai jumpa di artikel selanjutnya🙌