Laravel 11 sebenarnya sudah rilis sejak 12 Maret 2024. Versi ini dianggap lebih efisien dan lebih modern dari versi sebelumnya. Untuk bisa menjalankan versi ini, kita harus memiliki php 8.2 atau lebih.
Sebelum melakukan installasi laravel 11, pastikan kita sudah menginstall composer dan php yang sesuai ya. Cara menginstallnya masih sama dengan versi sebelumnya, yaitu dengan perintah: composer create-project laravel/laravel example-app.
Setelah kita berhasil melakukan installasi, maka kita akan mendapatkan tampilan direktori seperti ini:

Jika kita perhatikan tampilan direktori di atas masih sama persis dengan versi-versi sebelumnya. Berikut ini beberapa perbedaan yang ada pada laravel versi 11.
Perbedaan Laravel 11
Tampilan Welcome
Perubahan yang mendasar tentunya adalah tampilan welcome. Setiap ada perubahan versi di laravel, yang hampir pasti akan berubah adalah tampilan welcome dan tampilan error. Berikut ini adalah tampilan welcome pada laravel 11.

File Kernel Hilang
Biasanya kita mengatur alias untuk middleware atau melakukan grouping middleware pada Kernel.php tapi di laravel file tersebut dihilangkan. Lalu apa yang harus kita lakukan. Nah, jangan khawatir. Meskipun Kernel.php hilang, kita masih tetap bisa melakukan 2 kegiatan tadi di tempat berbeda. Tempatnya adalah di bootstrap/app.php. Lebih tepatnya lagi, adalah pada method withMiddleware. Secara default method withMiddleware ini kosong. Berikut ini adalah contoh mengisi middleware group dan alias middleware.
->withMiddleware(function (Middleware $middleware) {
$middleware->appendToGroup('web', [
\App\Http\Middleware\TestMiddleware::class,
\Illuminate\Session\Middleware\StartSession::class
]);
$middleware->alias([
'testmiddleware' => \App\Http\Middleware\TestMiddleware::class
]);
})
Penggunaan SQLite
Secara default laravel 11 menggunakan SQLite untuk penyimpanan session dan cache. Jadi jika tidak ingin terjadi error saat pertama kali melakukan installasi laravel 11, usahakan teman-teman sudah melakukan installasi SQLite terlebih dahulu.
Jika teman-teman tidak ingin menggunakan SQLite sebagai session maupun cache, maka teman-teman harus melakukan perubahan di env. Ubah session dan cache menjadi file. Berikut ini adalah tampilan jika kita tidak memiliki SQLite.

Penambahan Fungsi Artisan pada Laravel 11
Artisan untuk Trait pada Laravel 11
Ini yang sebenarnya aku tunggu-tunggu, yaitu pada artisan ditambahkan fungsi php artisan make:trait. Selama ini aku sudah menggunakan trait tapi saat membuat trait aku selalu melakukannya dengan cara membuat kelas secara manual. Dengan adanya fungsi ini, maka akan sangat mempermudah ketika aku perlu membuat trait.
Mungkin ada yang masih asing dengan trait. Trait merupakan sebuah mekanisme di php dimana setiap method-nya dapat digunakan oleh kelas yang menggunakan trait tersebut. Contoh dari penggunaan trait di laravel adalah saat model yang kita buat menggunakan trait soft delete dengan cara menambahkan use SoftDeletes pada model tersebut.
Artisan untuk Enum
Enum (enumeration) merupakan fitur dari php dan diperkenalkan sejak php 8.1. Enum merupakan tipe data yang bisa kita custom. Berikut contoh penggunaan enum yang saya ambil dari https://stitcher.io/blog/php-enums
<?php
enum Status
{
case DRAFT;
case PUBLISHED;
case ARCHIVED;
public function color(): string
{
return match($this)
{
self::DRAFT => 'grey',
self::PUBLISHED => 'green',
self::ARCHIVED => 'red',
};
}
}
$status = Status::ARCHIVED;
$status->color();
Di laravel 11 kita bisa membuat enum dengan cara yang mudah, yaitu menggunakan php artisan make:enum. Dengan perintah tersebut laravel akan otomatis membuatkan kita enum. Kita tinggal mengisi isinya.
Sayangnya jika kita membuat trait/enum dengan perintah tersebut, enum/trait akan dibuat di bawah direktori app. Artinya jika kita punya banyak trait/enum, maka direktori app akan dipenuhi dengan file-file trait/enum. Jika ingin masuk ke direktori sendiri maka sertakan nama direktori untuk menampun trait/enum tersebut. Sebagai contoh:
php artisan make:trait Traits/ContohTrait
php artisan make:enum Enums/ContohEnum
Penutup
Nah, demikianlah beberapa hal yang berubah dan bertambah pada laravel 11. Selain beberapa hal yang saya sebutkan di atas, masih ada beberapa perubahan yang lain. Ada beberapa perbaikan bug-bug dari versi sebelumnya dan juga optimalisasi fitur-fitur dari versi sebelumnya. Semoga penjelasan yang saya berikan memberikan sedikit informasi tambahan untuk teman-teman.


