به تازگی آپدیت 6.0.4 برای لاراول منتشر شده است و ما شاهد برخی تخغییرات و به روز رسانی ها در این نسخه هستیم که شاید مهم ترین امکانی که در این به روزرسانی به این فریمورک افزوده شده است امکان زمان بندی برنامه های کاری یا ترجمه دیگر رویداد های کاری برنامه ریزی شده (Scheduled Task events) باشد. در این نسخه یک روش جدید اعلان JSON و برخی تغییرات دیگر نیز گنجانده شده است. پس برای دریافت توضیحات بیشتر در ادامه این مطلب همراه ما باشید.
اجازه بدید به برخی از ویژگی های مهم جدید اشاره کنیم:
اول از همه متد assertJsonPath() به کلاس TestResponse افزوده شده است که به نظر می رسد برای اعلام یک سری مقادیر در یک پاسخ JSON و به کمک استفاده از دات (.) برای خواص تودرتو قابل استفاده است. برای درک بهتر به قطعه کد زیر نگاه کنید:
$this->getJson(route('api.post.show', [$post->id]))
->assertJsonPath('tags', [])
->assertJsonPath('comments.0.user.username', 'ecrmnn')
->assertJsonPath('comments.*.body', [
'First!',
'This is my comment',
]);
ویژگی بعدی نیز قرار داده شدن سه متد (تابع) جدید دسترسی به Eloquent builder برای ساده شدن اطمینان از اینکه آیا یک کلاس سازنده دارای ماکروهای global/local می باشد یا خیر. به این منظور برای درک بیشتر به قطعه کد زیر دقت کنید:
$builder->hasMacro($name);
$builder->getGlobalMacro($name);
$builder->hasGlobalMacro($name);
همچنین در این نسخه یک متد (روش یا تابع) دیگر برای بدست آوردن ستون های جدول محور در روابط BelongsToMany قرار داده شده است. برای درک بهتر این منظور به کد زیر دقت کنید:
$example->getPivotColumns();
در ادامه امکانات جدید دو رویداد (event) جدید برای کارهای برنامه ریزی شده (scheduled tasks) به این نسخه از لاراول افزوده شده است. این دو رویداد عبارتند از:
برای اینکه در رابطه با این رویداد ها اطلاعات بیشتری بدست بیاورید می توانید به لینکی که در زیر برای شما آماده کرده ایم مراجعه کنید (لینک مربوط به درخواستی است که توسط Michael Dyrynda ایجاد شده است):
https://github.com/laravel/framework/pull/29888
یکی دیگر از آخرین به روزرسانی ها در این نسخه ، این است که امکان تعریف آرگومان های دستور (command arguments) و گزینه های مربوط به اشیاء InputArgument و InputOption را دارا است. برای درک بیشتر قطعه کد زیر را در نظر بگیرید:
// Current style, still supported
protected function getArguments()
{
return [
['name', InputArgument::REQUIRED, 'the argument\'s description', 'default value'],
];
}
// New style
protected function getArguments()
{
return [
new InputArgument('name', InputArgument::REQUIRED, 'the argument\'s description', 'default value'),
];
}
این ویژگی های به روش backwards-compatible کار می کنند و تنها کاری که انجام می دهند این است که راه دیگری برای تعریف آرگومان و گزینه های اضافه را در دسترس قرار می دهند.
شما می توانید لیست کامل تغییرات و مشکلات رفع شده و... و نیز تفاوت بین نسخه ی 6.0.3 و 6.0.4 را به شکل کامل در لینک گیت هابی که در زیر برای شما قرار داده ایم شاهده کنید.
https://github.com/laravel/framework/compare/v6.0.3...v6.0.4
به شکل کلی و مطابق گفته های تیم توسعه لاراول امکانات زیر در لاراول افزوده شده و یا مشکلات مشخص شده در زیر برطرف شده اند:
v6.0.4
Added
Fixed
Changed
Refactoring
نظر شما چیست؟ شما می توانید نظرات ،پیشنهادات و اطلاعات خود را در رابطه با این مطلب و موضوعات مربوط از طریق قسمت نظرات با ما و سایر بازدیدکنندگان در میان بگذارید.