Tim Laravel telah merilis versi 9.24 pada 10 Agustus 2022 lalu. Pada versi ini terdapat pembaruan pada aturan validasi, perintah artisan dan lainnya.
Perintah Artisan baru untuk database
James Brooks berkontribusi dengan menambahkan perintah Artisan baru untuk database yakni db:show
, db:table
, dan juga db:monitor
.
Untuk db:show
akan memberikanmu overview terkait database, seperti tipe database, versi, username, dan masih banyak lagi.
Yang kedua ada db:table
, perintah ini akan menampilkan informasi terkait suatu table yakni informasi jumlah baris, detail kolom, indeks-indeks, dan semacamnya.
Yang terakhir ada db:monitor
yang memungkinkan kamu untuk melihat hal-hal seperti jumlah koneksi ke database.
Gambar-gambar di atas berasal dari Pull Request #43367 yang memuat informasi detail terkait perintah-perintah tersebut.
Repositori Config sekarang Macroable
Chris Kankiewicz berkontribusi dengan menambahkan trait macroable pada repositori Config sehingga pengguna bisa memperluas penggunaanya pada aplikasi mereka.
config()->macro('sayHello', function () {
return 'Hello, world';
});
config()->sayHello(); // Hello, world
Mengembalikan "soft deleted" model tanpa event
Venelin Iliev berkontribusi menambahkan method restoreQuietly()
yang mengembalikan model-model atau baris-baris data di table yang tadinya sudah "soft deleted" tanpa memunculkan event apapun.
$deletedModel->restoreQuietly();
Aturan "Does not end with" pada validasi
@kichetof berkontribusi sebuah aturan validasi doesnt_end_with
yang mengecek jika sebuah string tidak berakhir dengan substring yang dimaksud. Berikut ini contohnya.
// Validation passes
$v = new Validator(
$trans,
['x' => 'hello world'],
['x' => 'doesnt_end_with:hello']
);
$this->assertTrue($v->passes());
// Validation fails
$v = new Validator(
$trans,
['x' => 'hello world'],
['x' => 'doesnt_end_with:world']
);
$this->assertFalse($v->passes());
Catatan Rilis 9.24
Kamu bisa melihat keseluruhan fitur ataupun perbedaan antara 9.23.0 dan 9.24.0 pada Github. Catatan perilisan berikut ialah langsung dari changelog:
Penambahan
- New db:show, db:table and db:monitor commands (#43367)
- Added validation doesnt_end_with rule (#43518)
- Added Illuminate/Database/Eloquent/SoftDeletes::restoreQuietly() (#43550)
- Added mergeUnless to resource ConditionallyLoadsAttributes trait (#43567)
- Added Illuminate/Support/Testing/Fakes/NotificationFake::sentNotifications() (#43558)
- Added implode to Passthru in Illuminate/Database/Eloquent/Builder.php (#43574)
- Make Config repository macroable (#43598)
- Add whenNull to ConditionallyLoadsAtrribute trait (#43600)
- Extract child route model relationship name into a method (#43597)
Diurungkan
- Reverted Added whereIn to Illuminate/Routing/RouteRegistrar::allowedAttributes (#43523)
Perbaikan
- Fix unique locking on broadcast events (#43516)
- Fixes the issue of running docs command on windows (#43566, #43585)
- Fixes output when running db:seed or using --seed in migrate commands (#43593)
Perubahan
- Gracefully fail when unable to locate expected binary on the system for artisan docs command (#43521)
- Improve output for some Artisan commands (#43547)
- Alternative database name in Postgres DSN, allow pgbouncer aliased databases to continue working on 9.x (#43542)
- Allow @class() for component tags (#43140)
- Attribute Cast Performance Improvements (#43554)
- Queue worker daemon should also listen for SIGQUIT (#43607)
- Keep original keys when using Collection->sortBy() with an array of sort operations (#43609)
Sumber penyaduran: Laravel-News