Mengenal Apa Saja yang Baru di Laravel 11
Laravel merupakan sebuah framework bahasa PHP yang cukup populer di kalangan programmer. Revolusi yang dibawa oleh Laravel sangat memudahkan programmer dalam mengembangkan sebuah website. Sejak pertama kali diluncurkan, saat ini Laravel sudah mencapai versi 11. Dalam artikel ini, kita akan membahas apa saja yang baru di Laravel 11.
PHP Version
Kini syarat minimum untuk menjalankan framework Laravel 11 kita memerlukan versi PHP v8.2
Halaman “Welcome” Berubah
Halaman “welcome” juga kini berubah menjadi lebih baru. Pada halaman ini menampilkan informasi dokumentasi, Laracasts, News dan ekosistem laravel.
Http atau Kernel dihapus
<?php
use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__.'/../routes/web.php',
commands: __DIR__.'/../routes/console.php',
health: '/up',
)
->withMiddleware(function (Middleware $middleware) {
//
})
->withExceptions(function (Exceptions $exceptions) {
//
})->create();
Default Route
Pada Laravel 11, hanya terdapat dua route yaitu console.php dan web.php. Apabila kamu ingin memiliki route lainnya seperti channels.php dan api.php, kamu bisa membuatnya sendiri menggunakan perintah artisan seperti :
#api
php artisan install:api
#channel
php artisan install: broadcasting
Lalu kita perlu menghilangkan komentar pada file bootstrap/app.php
<?php
use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__.'/../routes/web.php',
api: __DIR__.'/../routes/api.php',
commands: __DIR__.'/../routes/console.php',
channels: __DIR__.'/../routes/channels.php',
health: '/up',
)
->withMiddleware(function (Middleware $middleware) {
//
})
->withExceptions(function (Exceptions $exceptions) {
//
})->create();
Model Cast
Pada versi sebelumnya, apabila kita ingin casting column pada model, yang dilakukan adalah
app/Models/User.php
protected $casts = [
‘email_verified_at’ => ‘datetime’,
‘password’ => ‘hashed’,
];
Sekarang sudah berubah menjadi
app/Models/User.php
protected casts(): array
{
return [
‘email_verified_at’ => ‘datetime’,
‘password’ => ‘hashed’,
];
}
Dumpable Trait
Untuk menggunakan fungsi dd atau dump kini kita dapat menggunakan trait Dumpable di kelas yang dimiliki
class Carbon extends BaseCarbon
{
Use Conditionable, Dumpable;
today()->dd();
Slim FIle
Saat ini pada folder app hanya menyisakan 3 files dan 4 folders.
app
├── Http
│ └── Controllers
│ ├── Controller.php
├── Models
│ └── User.php
└── Providers
└── AppServiceProvider.php
Slim Migration
Saat ini default file migration hanya ada 3 file yaitu users, cache dan jobs.
database/migrations
├── 0001_01_01_000000_create_users_table.php
├── 0001_01_01_000001_create_cache_table.php
└── 0001_01_01_000002_create_jobs_table.php
Upgrade dari Laravel v10 ke v11
Untuk upgrade dari versi 10 ke 11 tidak membutuhkan modifikasi apapun. Apabila ingin melakukan upgrade, cukup ubah versi di file composer.json lalu pastikan kompatibilitas dengan third-party package yang digunakan
Kesimpulan
Laravel 11 membawa perubahan yang signifikan pada struktur file dan beberapa fitur tambahan namun tetap mengedepankan kenyamanan penggunanya karena tidak perubahan yang terjadi tidak terlalu signifikan dan esensi dari penggunaan framework masih tetap sama
– Writer : Muhammad Satria Rajendra (Back-end)