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.
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
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.
#Laravel 11 #Vitur Baru Laravel 11 #Belajar Laravel