Laravel merupakan framework PHP terbaik saat ini khususnya dalam membangun aplikasi web sederhana hingga kompleks. Laravel ini dikenal dengan sintaknya yang elegan, Laravel terus berinovasi memberikan fungsionalitas dan fitur terbaru. Kini laravel telah mengumumkan perilisian versi terbarunya yaitu Laravel 9 di awal tahun 2022.
Laravel 9 memiliki fitur-fitur baru yang dapat membantu kita dalam melakukan pengembangan website dan juga dengan fitur baru tersebut dapat membantu mempercepat dalam membangun aplikasi web.
Berikut ini Fitur – Fitur Baru yang ada di Laravel 9 :
Minimal menggunakan PHP versi 8
untuk menjalankan Laravel 9, kalian harus menggunakan PHP versi 8 karena akan membutuhkan Symfony 6.0 sehingga persyaratan minimumnya adalah PHP 8.
Anonymous Stub Migrations
Laravel telah menjadikan migrasi anonim sebagai defalut saat kalian menjalankan perintah berikut ini :
php artisan make:migration
Fitur Anonymous Stub Migrations ini telah dirilis di laravel 8.37 yang berguna untuk mencegah nama kelas migrasi. Fitur ini juga berguna dalam mengatasi permasalahan, ketika mencoba untuk membuat ulang database dari awal, banyak migrasi dengan nama kelas yang menjadi masalah.
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::table('people', function (Blueprint $table) { $table->string('first_name')->nullable(); }); } };
Terdapat Query Builder Interface yang Baru
Kini laravel sudah tersedia type hinting untuk refactoring, analisis statis, dan penyelesaian kode di IDE kalian. Kurangnya interface anatara Query\Builder, Eloquent\Builder, dan Eloquent\Relation. Namun sekarang developer dapat memanfaatkan Query Builder Interface untuk petunjuk tipe, pemfaktoran ulang, dan analisis statis.
<?php return Model::query() ->whereNotExists(function($query) { // $query is a Query\Builder }) ->whereHas('relation', function($query) { // $query is an Eloquent\Builder }) ->with('relation', function($query) { // $query is an Eloquent\Relation });
Pada versi ini telah menambahkan antarmuka Illuminate\Contracts\Database\QueryBuilder baru, serta sifat Illuminate\Database\Eloquent\Concerns\DecoratesQueryBuilder yang akan mengimplementasikan antarmuka menggantikan metode magic __call.
Fungsi String PHP 8
Karena laravel 9 telah menggunakan php 8 sebagai versi minimun, maka laravel menggabungkan PR ini dengan fungsi string terbaru pada PHP 8.
Fungsi-fungsi ini termasuk penggunaan str_contains(), str_starts_with(), dan str_ends_with() secara internal di kelas \Illuminate\Support\Str.
Penutup
Kita telah membahas fitur-fitur baru yang ada pada laravel 9. Jika kalian punya pertanyaan terkait dengan pembahasan diatas, kalian bisa komentar dibawah sini. Terimakasih.