تغییرات جدید لاراول 11.40

لاراول به تازگی ورژن جدید خودش یعنی 11.40 منتشر کرد، در این ورژن ما شاهد تغییراتی مثل اعتبارسنجی بهتر تاریخ در Form Request ها، اضافه شدن متد dump به Http و... هستیم.


Fluent Date Validation

در ورژن جدید لاراول، شما میتونید تاریخ ها به صورت خیلی بهتر اعتبارسنجی کنید. در مثال پایین شما میتونید تعیین کنید که تاریخ قبل از امروز باشد و..:

use IlluminateValidationRulesDate;

public function rules()
{
    return [
        'start_date' => [
            'required',
            new Date, // Defaults to validating the date
        ],
        'end_date' => [
            'required',
            (new Date)->after('start_date')->before('2025-01-01'), // Ensures end date is after start_date and before 2025-01-01
        ],
        'birth_date' => [
            'required',
            (new Date)->format('d/m/Y')->beforeToday(), // Validates birth_date is before today in 'd/m/Y' format
        ],
    ];
}

متد هایی که میتونید استفاده کنید:

  • format($format): با این متد میتونید مشخص کنید تاریخ به چه فرمتی خاصی باشه به صورت پیشفرض (Y-m-d) هست.
  • afterToday(): مشخص میکنید که تاریخ باید برای بعد از امروز باشد.
  • beforeToday(): مشخص میکنید که تاریخ باید قبل از امروز باشد.
  • after($date): مشخص میکنید که تاریخ باید بعد از تاریخی که مشخص میکنید باشد، مثلا میگید بعد از 12 اسفند 1404 باشه!
  • afterOrEqual($date): این متد هم مثل بالایی عمل میکنه با این تفاوت که تاریخ اگه مساوی باشه هم اوکی هست.
  • before($date): این متد برعکس after هست و میگه قبل از تاریخی که مشخص میکنید.
  • beforeOrEqual($date): این متد مشخص میکنید که تاریخ قبل از تاریخی که مشخص کردید باشد یا مساوی آن.
  • between($from, $to): مشخص میکنید که تاریخ بین این دو تاریخ باشد.
  • betweenOrEqual($from, $to): مشخص میکنید تاریخ مساوی یا بین این دو تاریخ باشد.

 برای دیدن این Pull Request کلیک کنید.


Dump Helpers for Laravel's HTTP Client

در نسخه جدید لاراول شما میتونید با استفاده از متد های ()dump()، dd()، dumpHeaders و ddHeaders() دیتا های Http رو مشاهده کنید:

Http::get($url)->dump($key = null);
Http::get($url)->dd($key = null);
Http::get($url)->dumpHeaders();
Http::get($url)->ddHeaders();

 برای دیدن این Pull Request کلیک کنید.


Pending Attributes

این ویژگی جدید که به Eloquent اضافه شده به نام Pending Attributes یا "ویژگی‌های معلق" شناخته می‌شود و توسط متد withAttributes() معرفی شده است. این قابلیت به شما امکان می‌دهد تا هنگام ساختن یک مدل جدید، مقادیر مشخصی از ویژگی‌ها (attributes) را پیش‌فرض تنظیم کنید یا از آن‌ها به‌عنوان شرایط جستجو استفاده کنید.

// in the relationship on the User model
public function hiddenPosts(): HasMany
{
    return $this->posts()->withAttributes('hidden', 'y');
}

// in the scope on the Post model
public function scopeHidden(Builder $posts)
{
    $posts->withAttributes('hidden', 'y');
}

رابطه hiddenPosts فقط پست‌هایی را برمی‌گرداند که ویژگی hidden آن‌ها برابر با 'y' باشد.

 برای دیدن این Pull Request کلیک کنید.


تغییرات جزئی:

  • اجرا شدن جاب های lock به صورت یونیک - #54261
  • اضافه شدن Laravel Pint به فریم ورک - #53835
  • اضافه کردن self به HasCollection در داک بلاک - #54311
  • فیکس کردن کامند "schedule:test" برای runInBackground در کامند - #54321
  • سینک کردن styleCI با Laravel Pint توسط رول ها - #54326
  • استفاده از Laravel Pint برای فولدر "tests" در فریم ورک - #54325
  • فیکس کردن متد "pop()" در کالکشن ها - #54340
  • قابلیت ارسال کالکشن برای متد های "whereMorphedTo()" و "whereNotMorphedTo()" در الکوئنت - #54324
  • آپدیت کردن ورژن پکیج "nesbot/carbon" در کامپوزر - #54335
  • اضافه شدن cursor به ResolvesDumpSource ادیتور - #54318



برای دیدن فایل changelog.md این ورژن کلیک کنید.

برای دیدن release این ورژن کلیک کنید.

1 🔥
0 🎉
0 😮
0 👍
1 💜
0 👏
میلاد خسروی
نویسنده کد نیوز

برنامه نویس فان | Fun Developer یک آدم ساده که عاشق برنامه نویسی و کد زدنه :) تلاش میکنه تا به بقیه کمک کنه. توسعه دهنده هسته لاراول و فضای اوپن سورس. فاندر پرانتز و کد نیوز.

0+ نظر

برای ثبت نظر ابتدا ورود کنید.

0 نظر

    اولین نفر باش که نظر ثبت میکنی :) یعنی یه کامنت به ما نمیرسه 😁