Laravel 8.62 Dirilis, Apa yang Baru?


Pada tanggal 29 September 2021 lalu, akhirnya Laravel merilis versi Laravel 8.62.

Lalu apa saja yang baru di versi terbaru Laravel ini?

Mengambil Data dari Requst Data sebagai Collection

// Before
collect($request->input('users', []))->each(function ($user) {
    // ...
});
 
 
// 🔥
$request->collect('users')->each(function ($user) {
    // ...
});

Template Component Blade Index Anonim

{{-- components/accordion/index.blade.php --}}

    {{-- components/accordion/item.blade.php --}}
    
        {{-- ... --}}
    

Maintenance Mode Events

use Illuminate\Foundation\Events\MaintenanceModeEnabled;
use Illuminate\Foundation\Events\MaintenanceModeDisabled;
 
Event::dispatch(MaintenanceModeEnabled::class);
Event::dispatch(MaintenanceModeDisabled::class);

Method assertNotSoftDeleted

$this->assertNotSoftDeleted($model);
$this->assertNotSoftDeleted('posts', ['id' => 1]);

Method --pretend ditambahkan ke model:prune

php artisan model:prune --pretend

Bisa Mengkondisikan `PendingMail'

Class PendingMail diupdate dengan hadirnya trait baru bernama `Conditionable` sehingga bisa digunakan untuk method when() dan unless() saat melakukan konfiguras email sebelum memanggil send(), queue(), dan lainnya.

Menambahkan Opsi --pest di make:test

Perintah make:test mendukung dua stubs baru untuk fitur test Pest PHP dan unit test.

Stub fitur test:

>?php
 
test('example', function () {
    $response = $this->get('/');
    $response->assertStatus(200);
 
});

Stub unit test:

>?php
 
test('example', function () {
    expect(true)->toBeTrue();
});

Catatan Rilis

Tambahan:

  • Menambahkan singular syntatic sugar ke wormhole.
  • Menambahkan beberapa perubahan terkait PHP 8.1.
  • Dispatch events ketika mode maintenance diaktifkan dan dinonaktifkan.
  • Menambahkan metode assertNotSoftDeleted.
  • Menambahkan trait testing RefreshDatabaseLazily.
  • Menambahkan opsi --pretend untuk perintah model:prune.
  • Membuat PendingMail Conditionable.
  • Menambahkan opsi --pest saat menggunakan perintah make:test

Perbaikan:

  • Memperbaiki metode getDirty saat menggunakan AsArrayObject / AsCollection.
  • Memperbaiki beberapa kondisi ketika penambahan aturan untuk sibling value dalam data array.
  • Memperbaiki Illuminate/Validation/Aturan/Password::passes().
  • Memperbaiki untuk pemformatan tanggal kustom dan pemformatan nilai basis data

Perubahan:

  • Membuat pernyataan yang dapat dikirim dengan lancar.
  • Mengizinkan input permintaan diambil sebagai collection.
  • Mengizinkan tampilan index.blade.php untuk komponen anonim.
  • Mengubah *ofMany untuk memutuskan nama relationship ketika null.
  • Mengabaikan pembatas tambahan dalam string opsi cache.headers.
  • Hanya mencari file yang diakhiri dengan .php di model:prune.
  • Pernyataan notifikasi pada shouldSend.
  • Konversi middleware ke array saat output sebagai JSON di /RouteListCommand