Apa Saja Yang Baru Di Laravel 9? - CRUDPRO

Apa Saja Yang Baru Di Laravel 9?

Apa Saja Yang Baru Di Laravel 9?

Peningkatan Pada Aksesor dan Mutator

Laravel 9 menawarkan langkah baru untuk menuliskan accessor / mutators. Awalnya langkah mendefinisikannya dengan membuat metode dengan prefix

public function getNameAttribute($value)
{
    return strtoupper($value);
}
 
public function setNameAttribute($value)
{
    $this->attributes['name'] = $value;
}

Akan tetapi pada Laravel 9 kita bisa mendefinisikannya dengan satu method saja tanpa prefix dengan type-hint return typenya.

use Illuminate\Database\Eloquent\Casts\Attribute;
 
public function name(): Attribute
{
    return new Attribute(
        get: fn ($value) => strtoupper($value),
        set: fn ($value) => $value,
    );
}

Arahan Blade Tercentang / Terpilih

Dengan @checked directive akan memudahkan kita untuk mengindikasi atribut HTML itu “checked“.

<input type="checkbox"
        name="active"
        value="active"
        @checked(old('active', $user->active)) />

Tidak jauh berbeda @selected berguna untuk mengindikasikan bahwa opsi selectnya harusnya “selected“.

<select name="version">
    @foreach ($product->versions as $version)
        <option value="{{ $version }}" @selected(old('version') == $version)>
            {{ $version }}
        </option>
    @endforeach
</select>

Peningkatan output CLI route:list

Pada Laravel 9 hasil cetakan dari php artisan route:list mengalami banyak peningkatan, tampilannya seperti ini kira-kira.

Apa Saja Yang Baru Di Laravel 9?

Tampilan Pagination Bootstrap 5

Sekarang Laravel menyertakan tampilan Bootstrap 5 untuk paginationnya. Bawaannya tetap menggunakan TailwindCss kalau ingin menggunakan Boostrap 5 dapat kita definisikan pada method boot() dalam Class App\Providers\AppServiceProvider.

use Illuminate\Pagination\Paginator;
 
/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    Paginator::useBootstrapFive();
}

Controller Grup Rute

Sekarang kita bisa membuat rute grup dari Controller dengan grup rute seperti biasanya. Kemudian untuk mendefinisikan routenya kita cukup menuliskan nama methodnya.

use App\Http\Controllers\OrderController;
 
Route::controller(OrderController::class)->group(function () {
    Route::get('/orders/{id}', 'show');
    Route::post('/orders', 'store');
});

Mungkin itu sekilas apa aja yang baru pad Laravel 9 yang perlu diketahui, yang sebenarnya tidak mengubah sintaks yang sudah ada. Jadi berhenti mengeluh gara-gara versi baru Laravel rilis.