برنامه نویس فان | Fun Developer یک آدم ساده که عاشق برنامه نویسی و کد زدنه :) تلاش میکنه تا به بقیه کمک کنه. توسعه دهنده هسته لاراول و فضای اوپن سورس. فاندر پرانتز و کد نیوز.
لاراول چند روز پیش نسخه جدید خودش یعنی 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
اولین نفر باش که نظر ثبت میکنی :) یعنی یه کامنت به ما نمیرسه 😁