لاراول نسخه 10.32 منتشر شد🎉
توی هفته گذشته، لاراول نسخه 10.32 منتشر شد که توی این پست به امکانات جدید این نسخه از جمله directive شرطی جدید push
برای blade و validationهای شرطی جدید present
و ... میپردازیم. در مجموع لاراول ۱۰ شاهد ۱۵ مشارکت فردی (individual contributions) بوده که شامل بروزرسانیها، اصلاحات و بهبودها بوده.
اضافه شدن دایرکتیوهای @pushElseIf و @pushElse به بلید
Jason McCreary دایرکتیوهای @pushElseif
و @pushElse
رو به لاراول اضافه کرد تا در کنار @pushIf
به عنوان مجموعهای کامل از دستورات شرطی push قابل استفاده باشن:
@pushIf($type == 'tailwind', 'css')
<link href="public/css/tailwind.css" media="all" rel="stylesheet">
@elsePushIf($type == 'boostrap', 'css')
<link href="public/css/bootstrap.css" media="all" rel="stylesheet">
@elsePush('css')
<link href="public/css/app.css" media="all" rel="stylesheet">
@pushEndIf
لینک pull request برای اطلاعات بیشتر: #48990
اضافه شدن قانون اعتبارسنجی "present"
diamondobama قوانین اعتبارسنجی (validation) جدیدی اضافه کرد که برای اعتبارسنجی دادهها بر اساس وجود فیلدهای دیگر استفاده میشن. قبلا قانون present
بررسی میکرد که فیلد دریافتی در request وجود داشته باشد.
قوانین اضافه شده توسط diamondobama:
- present_if
- present_unless
- present_with
- present_with_all
مثال استفاده از قانون اعتبارسنجی present_if
use Illuminate\Support\Facades\Validator;
Validator::validate(
['foo' => 1],
['foo' => 'required', 'bar' => 'present_if:foo,1']
); // ValidationException
Validator::validate(
['foo' => 1, 'bar' => null],
['foo' => 'required', 'bar' => 'present_if:foo,1']
); // [ "foo" => 1, "bar" => null ]
لینک pull request برای مثالها و اطلاعات بیشتر: #48908
لیست انتشار
لیست کامل تغییرات این نسخه رو در پایین آوردم، همینطور میتونید تفاوت بین نسخه 10.31.0 و 10.32.1 رو روی گیتهاب ببینید. لیست انتشار پایین مستقیما از changelog آوردم.
نسخه ۱۰.۳۲.۱
- [10.x] Adding @pushElseIf و @pushElse توسط @jasonmccreary در https://github.com/laravel/framework/pull/48990
نسخه ۱۰.۳۲.۰
- Update PendingRequest.php توسط @mattkingshott در https://github.com/laravel/framework/pull/48939
- [10.x] Change array_key_exists with null coalescing assignment operator in FilesystemAdapter توسط @miladev95 در https://github.com/laravel/framework/pull/48943
- [10.x] Use container to resolve email validator class توسط @orkhanahmadov در https://github.com/laravel/framework/pull/48942
- [10.x] Added getGlobalMiddleware method to HTTP Client Factory توسط @pascalbaljet در https://github.com/laravel/framework/pull/48950
- [10.x] Detect MySQL read-only mode error as a lost connection توسط @cosmastech در https://github.com/laravel/framework/pull/48937
- [10.x] Adds more implicit validation rules for present based on other fields توسط @diamondobama در https://github.com/laravel/framework/pull/48908
- [10.x] Refactor set_error_handler callback to use arrow function in InteractsWithDeprecationHandling توسط @miladev95 در https://github.com/laravel/framework/pull/48954
- [10.x] Test Improvements توسط @crynobone در https://github.com/laravel/framework/pull/48962
- Fix issue that prevents BladeCompiler to raise an exception when temporal compiled blade template is not found. توسط @juanparati در https://github.com/laravel/framework/pull/48957
- [10.x] Fix how nested transaction callbacks are handled توسط @mateusjatenee در https://github.com/laravel/framework/pull/48859
- [10.x] Fixes Batch Callbacks not triggering if job timeout while in transaction توسط @crynobone در https://github.com/laravel/framework/pull/48961
- [10.x] expressions in migration computations fail توسط @tpetry در https://github.com/laravel/framework/pull/48976
- [10.x] Fixes Exception: Cannot traverse an already closed generator when running Arr::first with an empty generator and no callback توسط @moshe-autoleadstar در https://github.com/laravel/framework/pull/48979
- fixes issue with stderr when there was "]" character. توسط @nikopeikrishvili در https://github.com/laravel/framework/pull/48975
- [10.x] Fix Postgres cache store failed to put exist cache in transaction توسط @xdevor در https://github.com/laravel/framework/pull/48968