تغییرات جدید لاراول 11.28 - composer run dev

لاراول چند روز پیش نسخه جدید خودش یعنی 11.28 منتشر کرد و در این ورژن دستور "composer run dev"، اتربیوت جدید به نام "CollectedBy" و... معرفی کرد.

New Composer Command

یکی از مهم ترین تغییرات لاراول اضافه کردن یک کامند جدید به لاراول بود. همراه با این کامند یک فایل به نام "tailwind.config.js" هم اضافه شده، و با این فایل شما میتونید بدون نیاز نصبی هیچ started kit از Tailwind CSS استفاده کنید. با اجرا کردن این کامند این دستورات اجرا میشن:

  • php artisan queue:listen --tries=1
  • php artisan pail
  • npm run dev
  • Logs

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

CollectedBy Attribute

لاراول یک اتربییوت جدید به نام "CollectedBy" برای مدل ها معرفی کرد که شما میتونید یک Http Resource به مدل وصل کنید و با استفاده از متد "newCollection" اون کلاس رو صدا بزنید، بریم روش کارش رو ببینیم:

use IlluminateDatabaseEloquentAttributesCollectedBy;

#[CollectedBy(CustomUserCollection::class)]
class User extends Model {}

class CustomUserCollection extends Collection {}

حالا با متد "newCollection" میتونیم اون کلاس صدا بزنیم:

$model = new User;
$collection = $model->newCollection([$model]);

$this->assertInstanceOf(CustomUserCollection::class, $collection);

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

اضافه شدن هلپر جدید به نام "()enum_value"

شما از این به بعد میتونید با استفاده از این هلپر مقدار enum ها بگیرید به سادگی:

$foreignKey instanceof BackedEnum ? $foreignKey->value : $foreignKey; ❌
enum_value($foreignKey); ✅

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

اضافه شدن متد "()defaultLocale" و "()defaultCurrency" به فساد Number

لاراول دو متد جدید برای کلاس Number معرفی کرد و این متد ها واحد و محل پیشفرض برمیگردونه:

Number::defaultLocale(); // returns default locale e.g: en
Number::defaultCurrency(); // returns default currency e.g: USD

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

اضافه شدن متد "()successful" و "()failed" به Process

دو متد جدید به Process ها اضافه شده که خیلی راحت میتونید چک ببینید تمامی پروسس ها با موفقیت انجام شده یا نه:

$pool = $factory->pool(function ($pool) {
    return [
        $pool->path($path)->command($this->ls()),
        $pool->path($path)->command('cat test'),
    ];
});
$pool->successful();
$pool->failed();

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

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

  • فیکس کردن متد "constrained" در دیتابیس - #53144
  • تقویت phpdoc ها - #53164
  • فیکس کردن متد "where" در الکوئنت - #53147
  • فیکس کردن phpdoc فانکشن throw در هلپر ها - #53154
  • فیکس کردن کامند ساخت مدل برای import کردن فکتوری ها - #53142
  • تقویت phpdoc ها - #53139
  • پشتیبانی از Laravel Prompts 0.3 در کامپوزر - #53136
  • فیکس کردن "HasManyThrough::one()" در الکوئنت - #53119
  • تقویت تست ها - #53128
  • ریفکتور - #53131
  • اضافه شدن اتریبیوت "RouteParameter" برای پارامتر های روت - #53080
  • اضافه شدن قابلیت nested کامپوننت ها - #52669
  • حذف کردن فکتوری ها از مدل ها به صورت پیشفرض - #53104
  • تقویت phpdoc ها - #53109
  • اضافه شدن قابلیت interactive به دستور های "env:decrypt" و "env:encrypt" در کنسول - #53081
  • اضافه شدن phpstan به متد "()isNotEmpty" در کالکشن ها - #53107
  • فیکس کردن فیلد های "created_at" و "updated_at" در ریلیشن ها - #53103
  • Fix resource not escaped correctly in substituteBindingsIntoRawSql() - #53100
  • اضافه کردن null برای مقدار پیشفرض ردیس - #53095
  • پشتیبانی از enum ها در متد "()can" الکوئنت - #53079

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

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

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

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

0+ نظر

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

0 نظر

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