This week, the Laravel team released v11.7, with a Rule::array() validation method, a whereJsonOverlaps() method for MySQL, a Slack OpenID provider for Laravel Socialite, and more.
Introduce the Rule::array() Method
Jakub Potocký contributed the Rule::array() method used to validate multiple array keys using the array validation rule. This method enables using this rule with arrays and collections without having the concatenate dynamic values:
use Illuminate\Validation\Rule;
// Before
['array:' . MyBackedEnum::VALUE->value . ',' . MyBackedEnum::VALUE_2->value];
// After examples
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]);
See Pull Request #51250 for full details.
Stringable Support in blank() and filled() Helpers
Stefan R. contributed support for Stringable values in the blank() and filled() helpers:
// true
filled(str('FooBar '));
// true
blank(str(' '));
Add "whereJsonOverlaps()" for MySQL
Benjamin Ayles contributed support for MySQL's json_overlaps feature that compares two JSON documents:
User::whereJsonOverlaps('languages', ['en', 'fr'])->exists();
User::whereJsonDoesntOverlap('languages', ['en', 'fr'])->exists();
See Pull Request #51288 for more details and discussion.
Add PasswordResetLinkSent Event
Matt Jones contributed a new event called PasswordResetLinkSent which fires when a password reset link is sent. See Pull Request #51253 for more details.
Laravel Socialite Provider for Slack OpenID
Maarten Paauw contributed a separate Slack OpenID provider for Laravel Socialite. See Pull Request #704 for details and links to the Slack documentation.
Release notes
You can see the complete list of new features and updates below and the diff between 11.6.0 and 11.7.0 on GitHub. The following release notes are directly from the changelog:
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 to ValidatedInput 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
/>
The post Rule::array() and whereJsonOverlaps() for MySQL in Laravel 11.7 appeared first on Laravel News.
Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.
0 comments:
Post a Comment
Thanks