ویژگی های جدید لاراول 5.5.3

ترجمه و تالیف : امیررضا سیستانه ای
تاریخ انتشار : 13 خرداد 98
خواندن در 55 ثانیه
دسته بندی ها : لاراول

چندی پیش نسخه ی 5.5.3 از فریمورک محبوب لاراول منتشر شده که شامل ویژگی های جدید و باگ های برطرف شده نسبت به نسخه های قبلیست. بیایید نگاهی به نکات برجسته و لیستی از گزارش تغییرات لاراول در نسخه 5.5.3 بیاندازیم.

کمکی ()rescue

کمکی rescue شامل یک راه ساده برای بازگرداندن یک مقدار پیش فرض در استثنای Throwable هست. با توجه به تستی که اینجا انجام شده, یک مثال از چگونگی کار این کمکی ملاحظه می کنید :

$result = rescue(function () {

    throw new Exception;

}, function () {

    return 'rescued!';

});


// => rescued!

پارامتر ()Route::getAction

تا قبل از نسخه 5.5.3 لاراول, تولید یک کلید از ()Route::getAction مثل زیر بود :

$route->getAction()['controller'];

حالا در نسخه 5.5.3 شما میتونید یک پارامتر پاس بدهید :

$route->getAction('controller');

دستورالعمل JSON Blade

دستورالعمل json@ میتونه برای تزریق اطلاعات php در قالب شما بعنوان JSON بکار بیاد.

سابقا شما ممکن بود کاری شبیه زیر انجام بدید :

<script>

  var example = {!! $json !!};

</script>

من این نحوه کدنویسی رو دوست ندارم چون ممکنه باعث خطاهای سینتکسی در جاوا اسکریپت بشه یا در IDE شما هشداری نشون بده.

برای جلوگیری از این مشکلات من معمولا کار زیر رو برای تولید JSON از کد سمت سرور انجام میدم :

<script>

  var example = JSON.parse("{!! $json !!}");

</script>

با دستورالعمل جدید blade @json شما میتونید بصورت زیر به راحتی این کار رو انجام بدید :

<script>

  var example = @json($myData);

</script>

دستورالعمل json@ گزینه ی خوبیه که برای شما راحتی بیشتری در زمینه JSON در صفحه قالب تون فراهم میکنه.

گزارش تغییرات 

افزوده شده :

  • افزوده شدن پارامتر برای ()Route::getAction
  • دستورالعمل json@
  • کمکی ()rescue
  • پشتیبانی از کاما در In و NotIn
  • متد ()RadisManager::connections
  • کلاس استثنا در JSON exceptions
  • متد ()Gate::policies
  • متدهای  geo spatial blueprint

تغییر کرده :

  • حل مشکل migration ها که در batch order اجرا نمیشد
  • خالی کردن منبع اپلیکیشن هنگام teardown
  • کش کردن خطاها هنگام ساخت زمینه استثنا (exception)
  • بازگرداندن this$ از ()Validator::setCustomMessages

مشکلات برطرف شده :

  • ()Request::validate مقدار کلید پدر را باز میگرداند
  • مشکل ارزیابی مقایسه تاریخ ها وقتی یک فرمت مشخص شده
  • مشکل خطای ورود به سیستم وقتی decayMinutes بیش از یک باشد
  • از reflection فقط در کلاس های ()Kernel::load استفاده شد
  • قرار دادن حروف کوچک column_name در ()MySqlGrammar::compileColumnListing
  • مشکل eager loading با BelongsToMany

حذف شده :

  • فراخوانی ()lcfirst در authorizeResource
  • listensFor$ از listener stubs

مشاهده گزارش

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر لازم است ابتدا وارد سایت شوید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید