Halo sahabat dita semuanya, ini merupakan artikel pertama yang akan membahas bahasa pemrograman, pada pembahasa ini kita akan belajar bahasa pemrograman PHP dan lebih dalam ke pengenalan Framework Laravel.

Tanggal 12 maret 2024 kemarin, Laravel telah diperbaharui menjadi Laravel 11, untuk itu mari kita pelajari secara sederhana bagaimana cara menggunakan framework ini dan apa saja yang baru pada Laravel 11 ini.

Pengenalan Laravel 11

Laravel 11 adalah versi yang melanjutkan beberapa perbaikan dari versi sebelumnya yaitu Laravel 10.x dengan mengenalkan struktur aplikasi yang lebih sederhana, per-second rate limiting ,health routing, graceful ancryption key rotation, queue testing improvements, resend mail transport, prompt validator integration, new artisan commands, dan masih banyak lagi.

Tidak hanya itu, Laravel 11 juga membawa library baru yang diberi nama  Laravel Reverb. dimana library ini merupakan server Websocker yang memberikan kemampuan yang baik pada aplikasi yang kita kembangkan.

Minimal PHP 8.2

Pada Laravel 11 ini versi PHP yang didukung adaah PHP 8.2 sehingga untuk PHP 8.1 ke bawah sudah tidak didukung lagi atau tidak bisa menggunakan Laravel 11 ini. berikut adalah informasi dukungan PHP 8.1 yang dihentikan oleh Laravel 11.

[11.x] Drop PHP 8.1 Support

Struktur Aplikasi Laravel 11 Lebih Sederhana

Laravel 11 hadir dengan struktur folder yang lebih sederhana, jadi ketika teman-teman akan membuat project baru Laravel 11 akan ada perubahan-perubahan misalnya saja pada folder app kalian akan menemukan 3 folder saja yaitu Http, Models, Providers.

app
├── Http
│   └── Controllers
│       └── Controller.php
├── Models
│   └── User.php
└── Providers
    └── AppServiceProvider.php

Struktur aplikasi yang baru ini dimaksudkan untuk memberikan pengalaman yang lebih sederhana dan modern, dengan tetap mempertahankan banyak konsep yang sudah dimahami oleh pengembang aplikasi Laravel pada umumnya.

Tampilan Welcome Screen Baru

Laravel 11 membawa tampilan welcome screen yang baru, tampilan yang baru seperti ini

tampilan welcome screen baru laravel 11 - Kandita.com

File Bootstrap Aplikasi

file bootstrap/app.php telah direvitalisasi sebagai kode pertama dari aplikasi. Dari file ini, kita sekarang bisa menyesuaikan route aplikasi, middleware. service providers, exception handling, dan masih banyak lagi. File ini menyatukan berbagai pengaturan aplikasi yang sebelumnya tersebar di seluruh struktur file aplikasi Laravel.

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();

Perubahan Route

Sekarang di Laravel 11 untuk default route-nya hanya ajan terdapat dua file saja, yaitu console.php dan web.php. Terus bagaimana jika kita ingin membuat route untuk REST API? cara yang ditawarkan cukuo mudah, kita hanya perlu menjalankan perintah artisan berikut.

php artisan install:api

Dengan begitu, maka file api.php akan dibuat secara otomatis didalam folder routes. Begitu juga dengan route broadcasting, kalian hanya perlu menjalankan perintah artisan berikut ini.

php artisan install:broadcasting

Perintah Artisan Baru

Ada beberapa perintah artisan baru yang dibawa oleh Laravel 11 ini, dimana perintah ini memungkinkan untuk melakukan pembuatan class, enum, interface, dan traits.

php artisan make:class
php artisan make:enum
php artisan make:interface
php artisan make:trait

Model Cast Improvements

Pada versi sebelumnya jika kita ingin mendefinisikan cast tentu saja kita akan menggunakan sebuah properti seperti kode dibawah ini.

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

Pada Laravel 11 ini untuk mendefinisikan cast kita harus menggunakan method. jadi hasilnya seperti berikut ini.

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

SQLite Default Database

Pada Laravel 11 ini, default database nya adalah SQLite untuk menyimpan database serta driver database untuk session, cache, dan queue.

Laravel Reverb

Laravel Reverb merupakan sebuah komunikasi WebSocket real-time yang sangat cepat dan terukur langsung ke aplikasi Laravel 11 kita, dan menyediakan integrasi dengan event broadcasting Laravel yang sudah ada seperti Laravel Echo.

Untuk mendapatkan informasi terkait Laravel Reverb kalian bisa kunjungi link berikut ini.

Dokumentasi Laravel Reverb

Trait Dumpable

Saat ini, di Laravel 11 semua kelas telah ditambahkan method dd atau dump yang tujuannya untuk menyederhanakan inti dari framework itu sendiri. Contohnya seperti berikut ini.

class Stringable implements JsonSerializable, ArrayAccess
{
    use Conditionable, Dumpable, Macroable, Tappable;
 
    str('foo')->dd();
    str('foo')->dump();

Per-Second Rate Limiting

Pada versi terbaru ini Laravel memberikan batasan rate limiter itu adalah "Per-Menit" dan sekarang di Laravel mendukung rate-limiting "Per-Detik" termasuk untuk permintaan HTTP dan queued jobs.

RateLimiter::for('invoices', function (Request $request) {
    return Limit::perSecond(1);
});

Kesimpulan

Untuk seorang yang pemula mungkin akan sedikit terkejut karena ada perubahan pada struktur aplikasi Laravel 11 ini, tapi tidak perlu khawatir karena pada dasarnya konsep yang dibawa oleh laravel masih sama.

terima kasih sudah membaca artikel ini, silahkan berikan tanggapan kepada artikel ini.


Artikel ini dibaca sebanyak 92 kali
#Laravel 11 #Vitur Baru Laravel 11 #Belajar Laravel