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

نسخه 12.15 لاراول با ویژگیهای جدیدی منتشر شد که به بهبود تجربه توسعهدهندگان کمک میکند. این نسخه شامل قابلیتهایی مانند فرمتبندی و پارس کردن اعداد بر اساس منطقه جغرافیایی، متد جدید برای هش کردن رشتهها، و ابزارهای بهبود یافته برای تستها و مدیریت پیچینیشن است. این تغییرات به توسعهدهندگان این امکان را میدهند تا کارهای خود را سریعتر و سادهتر انجام دهند.
Context Attribute
در آپدیت جدید لاراول 12، یک اتربیوت جدید به نام "Context" اضافه شد تا بتوانید از طریق این اتربیوت به Context دسترسی داشته باشی و دیتا بگیریدد:
use AppModelsChannel;
use AppModelsUser;
use IlluminateContainerAttributesContext;
public function run(
#[Context('user')] User $user,
): void {
$channel = Channel::factory()->create();
$channel->users()->attach($user);
}
برای دیدن این Pull Request کلیک کنید.
Default Value for Request Enum
در آپدیت جدید لاراول، شما میتونید یک مقدار دیفالت برای متد "enum()
" در ریکوئست ها ست کنید:
$chartType = request()->enum('chart_type', ChartTypeEnum::class, ChartTypeEnum::Bar);
برای دیدن این Pull Request کلیک کنید.
متد جدید "()assertRedirectToAction" در HTTP Tests
یک متد جدید به تست نویسی HTTP اضافه شده به نام "assertRedirectToAction()
". این متد مشخص میکنه که بعد از این ریکوئست به کدوم اکشن از کنترلر انتقال داده میشه، مشابه اش قبلا روت بوده:
public function testAssertRedirectToActionWithoutParameters()
{
$this
->get('redirect-to-index')
->assertRedirectToAction([TestActionController::class, 'index']);
}
برای دیدن این Pull Request کلیک کنید.
اضافه شدن متد "assertClientError()
" به HTTP Tests
در لاراول 12، یک متد جدید اضافه شده که چک کنید ریسپانس ارور داره به شکل راحتر از قبل:
Before:
$this->assertTrue($response->isClientError());
After:
$response->assertClientError();
برای دیدن این Pull Request کلیک کنید.
اضافه شدن متد "hash()
" به کلاس Stringable
در آپدیت جدید لاراول، شما میتونید به صورت مستقیم از متد هش در کلاس Stringable استفاده کنید. در این متد کافیه فقط الگوریتم هش وارد کنید:
Before:
$appId = str('secret-unique-key')
->pipe(fn (Stringable $str) => hash('xxh3', (string) $str))
->limit(10)
->prepend('app-');
After:
$appId = str('secret-unique-key')
->hash('xxh3')
->limit(10)
->prepend('app-');
برای دیدن این Pull Request کلیک کنید.
اضافه شدن کلید "current_page_url
" به صفحه بندی (Paginator)
در آپدیت لاراول، شما یک کلید جدید به نام current_page_url در صفحه بندی دردسترس دارید:
$paginator->toArray()['current_page_url'];
برای دیدن این Pull Request کلیک کنید.
Locale-aware Number Parsing
در متد "format()
" کلاس Number یک پارامتر به نام $locale
اضافه شده که عدد رو بر اساس ان اون ملیت قالب مناسبی رو برمیگردونه:
use IlluminateSupportNumber;
$number = 12345.67;
$string = Number::format($number, locale: 'en'); // 12,345.67
$string = Number::format($number, locale: 'de'); // 12.345,67
$string = Number::format($number, locale: 'fr'); // 12 345,67
$float = Number::parse($request->input($string));
برای دیدن این Pull Request کلیک کنید.
اضافه شدن پارامتر $value
به متد "assertSessionMissing()
"
به متد "assertSessionMissing()
" پارامتر $value اضافه شده مشابه متد "assertSessionHas()
":
$response->assertSessionMissing('foo', 'badvalue');
برای دیدن این Pull Request کلیک کنید.
تغییرات جزئی:
- اضافه کردن تایپ پارامتر به متد های "
assertJsonStructure()
" و "assertExactJsonStructure()
" در تست نویسی - #55743 - حذف درایور apc از سشن ها - #55745
- فیکس کردن تایپ ریترن - #55783
- تقویت phpdoc در الکوئنت - #55762
- فیکس کردن کامند db بدون پسورد - #55761
- تقویت phpdoc در الکوئنت - #55779
- ریفکتور جزئی - #55781
- فیکس کردن کامند
install:broadcast
برای نصب لایوایر کیت - #55774 - اضافه شدن امکان گرفتن حالت قبلی مدل (previous state) در مدل ها - #55729
- اضافه کردن تایپ هینت در گرفتن اطلاعات از ENV ها - #55737
اولین نفر باش که نظر ثبت میکنی :) یعنی یه کامنت به ما نمیرسه 😁