Tim Laravel kembali memanjakan para developer dengan merilis versi 11.7 yang membawa sejumlah pembaruan menarik. Versi terbaru ini hadir dengan metode validasi Rule::array(), metode whereJsonOverlaps() untuk MySQL, penyedia Slack OpenID untuk Laravel Socialite, dan masih banyak lagi. Mari kita bahas lebih detail mengenai fitur-fitur baru ini!
Validasi Lebih Mudah dengan Metode Rule::array()
Metode Rule::array() diperkenalkan oleh Jakub Potocký untuk memudahkan validasi beberapa kunci array menggunakan aturan validasi array. Metode ini memungkinkan penggunaan aturan validasi array dengan array dan koleksi tanpa harus menggabungkan nilai dinamis:
use Illuminate\Validation\Rule;
// Sebelumnya
['array:' . MyBackedEnum::VALUE->value . ',' . MyBackedEnum::VALUE_2->value];
// Contoh penggunaan Rule::array()
Rule::array('key_1', 'key_2', 'key_3');
Rule::array(['key_1', 'key_2', 'key_3']);
Rule::array(collect(['key_1', 'key_2', 'key_3']));
Rule::array([UnitEnum::key_1, UnitEnum::key_2, UnitEnum::key_3]);
Rule::array([BackedEnum::key_1, BackedEnum::key_2, BackedEnum::key_3]);
Dukungan Stringable dalam Helper blank() dan filled()
Stefan R. menambahkan dukungan untuk nilai Stringable dalam helper blank() dan filled(), sehingga pengecekan nilai kosong atau terisi pada objek Stringable menjadi lebih mudah:
Metode whereJsonOverlaps() untuk MySQL
// true
filled(str('FooBar '));
// true
blank(str(' '));
Fitur baru json_overlaps pada MySQL kini didukung oleh Laravel melalui metode whereJsonOverlaps(). Metode ini memungkinkan Anda membandingkan dua dokumen JSON dengan mudah:
User::whereJsonOverlaps('languages', ['en', 'fr'])->exists();
User::whereJsonDoesntOverlap('languages', ['en', 'fr'])->exists();
Peristiwa PasswordResetLinkSent
Matt Jones menambahkan peristiwa baru yang disebut PasswordResetLinkSent. Peristiwa ini akan dipicu saat tautan pengaturan ulang kata sandi dikirim, memberikan fleksibilitas lebih dalam menangani proses pengaturan ulang kata sandi.
Penyedia Slack OpenID untuk Laravel Socialite
Maarten Paauw menambahkan penyedia Slack OpenID terpisah untuk Laravel Socialite. Fitur ini memungkinkan integrasi yang lebih mudah dengan platform Slack untuk otentikasi pengguna.
Catatan Rilis Lengkap
Anda dapat melihat daftar lengkap fitur dan pembaruan baru di catatan rilis Laravel 11.7. Pembaruan ini meliputi berbagai perbaikan bug, peningkatan kinerja, dan fitur baru yang membuat Laravel semakin powerful dan mudah digunakan.
Dengan sederet fitur baru dan pembaruan yang disematkan, Laravel 11.7 menjadi pilihan ideal bagi para developer untuk membangun aplikasi web yang canggih, efisien, dan mudah dirawat.
v11.7.0
- [11.x] Fix SesV2Transport to use correct
EmailTags
argument by @Tietew in https://github.com/laravel/framework/pull/51265 - [11.x] Add Databases nightly workflow by @Jubeki in https://github.com/laravel/framework/pull/51218
- [11.x] update "min" and "max" rule comments by @browner12 in https://github.com/laravel/framework/pull/51274
- [11.x] Fix namespace and improvement PSR in
ClassMakeCommandTest.php
by @saMahmoudzadeh in https://github.com/laravel/framework/pull/51280 - [11.x] improvement test coverage for view components. by @saMahmoudzadeh in https://github.com/laravel/framework/pull/51271
- [11.x] Introduce method
Rule::array()
by @Jacobs63 in https://github.com/laravel/framework/pull/51250 - [11.x] Fix docblock for collection pluck methods by @SanderMuller in https://github.com/laravel/framework/pull/51295
- [11.x] Add tests for handling non-baked enum and empty string requests by @hrant1020 in https://github.com/laravel/framework/pull/51289
- blank and filled now support stringable by @lava83 in https://github.com/laravel/framework/pull/51300
- [11.x] Fix ratio validation for high ratio images by @ahmedbally in https://github.com/laravel/framework/pull/51296
- [11.x] Add int|float support to e method by @trippo in https://github.com/laravel/framework/pull/51314
- [11.x] Add release notes by @driesvints in https://github.com/laravel/framework/pull/51310
- [11.x]
Stringable
is also an interface of symfony by @lava83 in https://github.com/laravel/framework/pull/51309 - [11.x] Add some tests and improvement test coverage for
Str::camel
by @saMahmoudzadeh in https://github.com/laravel/framework/pull/51308 - [11.x] Using the
??
Operator (Null Coalescing Operator) by @saMahmoudzadeh in https://github.com/laravel/framework/pull/51305 - [11.x] Add ability to override the default loading cached Routes for application by @ahmedabdel3al in https://github.com/laravel/framework/pull/51292
- [11.x] Add ->whereJsonOverlaps() for mysql by @parkourben99 in https://github.com/laravel/framework/pull/51288
- [11.x] Add
InteractsWithInput
methods toValidatedInput
by @aydinfatih in https://github.com/laravel/framework/pull/51316 - [11.x] Adding PasswordResetLinkSent event by @Muffinman in https://github.com/laravel/framework/pull/51253