Tutorial Laravel 11 #1: Fitur Baru dan Perubahan di Laravel 11

-

Halo teman-teman semuanya, selamat datang di seri "Tutorial Laravel 11 untuk Pemula", pada seri kali ini kita akan membahas Tutorial Laravel 11 yang ditujukan untuk pemula.

Laravel merupakan salah satu framework PHP paling populer di dunia, yang sekarang sudah update menjadi versi 11 dengan beberapa perubahan dan fitur baru. Dalam artikel pertama pada seri ini, kita akan membahas perubahan dan fitur baru yang dihadirkan Laravel 11. Update ini dirancang untuk membuat pengembangan aplikasi lebih cepat, efisien, dan modern.

Tanggal Rilis Laravel 11

Laravel 11 dirilis pada 6 Februari 2024 lalu (sesuai Support Policy Laravel). Seperti biasanya, Laravel menggunakan metode Semantic Versioning untuk rilis besar setiap tahun, memastikan framework tetap up-to-date dengan teknologi terbaru.

Apa yang Baru di Laravel 11?

1. Minimum PHP 8.2

Laravel 11 sekarang memerlukan PHP versi 8.2 atau lebih tinggi. Dengan demikian, aplikasi yang dibuat dengan laravel 11 akan mendapatkan keuntungan dari fitur-fitur terbaru PHP, seperti readonly properties dan peningkatan performa pastinya.

2. Struktur Aplikasi Lebih Minimalis

Laravel 11 hadir dengan struktur aplikasi yang lebih ramping. Banyak file yang dianggap redundant telah dihapus untuk mempercepat pengembangan dan mempermudah navigasi.

Struktur Baru di Laravel 11:

app/ |--- Http/ | |--- Controllers/ | |--- Controller.php |--- Models/ | |--- User.php |--- Providers/ | |--- AppServiceProvider.php routes/ |--- web.php

Beberapa perubahan utama:

  • EncryptCookies, PreventRequestsDuringMaintenance, TrustHosts, dan beberapa middleware lainnya telah dihapus.
  • File routes/console.php tidak ada lagi. Sekarang, perintah console langsung dihandle oleh console kernel.
  • bootstrap/app.php hanya memiliki 3 baris kode sekarang.

3. Trait Dumpable untuk Debugging

Laravel 11 menambahkan Trait Dumpable yang memungkinkan kamu untuk menggunakan metode dump() dan dd() langsung pada objek. Ini sangat berguna untuk debugging.

Contoh:

use Illuminate\Support\Traits\Dumpable; class Student { use Dumpable; } $student = new Student(); $student->dump();

4. Metode casts() untuk Model

Sekarang, kamu bisa mendefinisikan casting langsung melalui metode casts() di dalam model.

Sebelum (Versi Lama):

protected $casts = [ 'role' => UserRole::class, ];

Sekarang (Versi Baru):

protected function casts(): array { return [ 'role' => UserRole::class, ]; }

5. Penghapusan File Config Default

Beberapa file konfigurasi tidak lagi disertakan secara default di Laravel 11. Sebagai gantinya, lebih banyak variabel ditambahkan ke file .env.

Cara Memunculkan Kembali File Config:

php artisan config:publish

6. Penamaan Migrasi yang Lebih Sederhana

Penamaan file migrasi di Laravel 11 sekarang lebih singkat dan mudah dibaca.

Sebelum (Versi Lama):

2024_01_01_000000_create_users_table.php

Sekarang (Versi Baru):

0001_create_users_table.php

7. Penghapusan Kernel Console

Di Laravel 11, file Console Kernel dihapus. Kamu bisa langsung mendeklarasikan perintah di console seperti ini:

php artisan make:command TestCommand
#Laravel