Kamis, 15 December 2022

Apa Saja Yang Akan Hadir Di Laravel 10

Laravel versi 10 adalah versi selanjutnya untuk Laravel, dan ini telah direncanakan rilis pada 7 februari 2023.

Laravel
Released

Laravel versi 10 adalah versi selanjutnya untuk Laravel, dan ini telah direncanakan rilis pada 7 februari 2023. Dalam artikel ini, sebelum framework ini rilis versi terbarunya, mari kita lihat apa-apa saja fitur yang di berikannya pada versi yang akan hadir ini.

Laravel 10 Tidak Lagi Mendukung PHP 8.0

Di laravel 9, versi minimal php yang boleh kita gunakan adalah v8.0, namun pada update selanjutnya (v10), minimal php haruslah v8.1. Jika Anda memang tertarik ingin menggunakan Laravel v10 ini, ada baiknya jika itu dipersiapkan dari sekarang.

Apa lagi sekarang PHP sudah v8.2, yang mana itu juga baru saja di rilis pada bulan ini (8 Desember 2022). Kelanjutan tentang versi PHP ini bisa Anda lihat disini.

Native type declarations

Pada tanggal 15 november lalu, Taylor telah membuat sebuah pernyataan pada tweet nya bahwa pada laravel v10 akan mengguakan type-hints dan return types untuk semua jajarannya.

Berikut contoh penulisan untuk type annotation.

/**
 * Get the host patterns that should be trusted.
 */
public function hosts(): array
{
    return [
        'parsinta.test',
    ];
}

Invokable Validation Rule

Sebelumnya jika kita buat 1 rule, itu tidak akan default menggunakan invokable method kecuali kita buat flag --invokable pada saat mengenerasi nya.

Jadi, jika kita membuat rule di v9 ini kurang lebih hasilnya akan seperti ini:

php artisan make:rule Lowercase

Dan hasilnya akan seperti ini:

app\Rules\Lowercase.php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;

class Lowercase implements Rule
{
    /**
     * Create a new rule instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Determine if the validation rule passes.
     *
     * @param  string  $attribute
     * @param  mixed  $value
     * @return bool
     */
    public function passes($attribute, $value)
    {
        //
    }

    /**
     * Get the validation error message.
     *
     * @return string
     */
    public function message()
    {
        return 'The validation error message.';
    }
}

Dan jika kita ingin dia menggunakan invokable method, maka kita harus menambahkan flag --invokable seperti berikut:

php artisan make:rule Lowercase --invokable

Maka untuk hasilnya kurang lebih akan seperti ini:

app\Rules\Lowercase.php
namespace App\Rules;

use Illuminate\Contracts\Validation\InvokableRule;

class Lowercase implements InvokableRule
{
    /**
     * Run the validation rule.
     *
     * @param  string  $attribute
     * @param  mixed  $value
     * @param  \Closure(string): \Illuminate\Translation\PotentiallyTranslatedString  $fail
     */
    public function __invoke($attribute, $value, $fail): void
    {
        //
    }
}

Dan hasil di atas, akan by default terjadi di laravel 10 tanpa harus memberitahu untuk menggunakan invokable method.

Berikut adalah jadwal rilis yang ada pada keseluruhan versi laravel.

Version PHP (*) Release Bug Fixes Until Security Fixes Until
6 (LTS) 7.2 - 8.0 September 3rd, 2019 January 25th, 2022 September 6th, 2022
7 7.2 - 8.0 March 3rd, 2020 October 6th, 2020 March 3rd, 2021
8 7.3 - 8.1 September 8th, 2020 July 26th, 2022 January 24th, 2023
9 8.0 - 8.2 February 8th, 2022 August 8th, 2023 February 6th, 2024
10 8.1 - 8.2 February 7th, 2023 August 6th, 2024 February 4th, 2025

Itu saja dulu untuk artikel ini, jika nanti ada bocoran terbaru, maka artikel ini akan diperbarui. Selanjutnya, Anda bisa lihat info nya nanti disini.