درحال بارگذاری

افزوده شده زمان بندی برنامه های کاری و چندین امکان دیگر در لاراول 6.0.4

تاریخ: چهارشنبه, 03 مهر 1398

نویسنده: مصطفی دربان حسینی... بازیدها: 430 - نظرات : 0 دسته بندی: برنامه نویسی


به تازگی آپدیت 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) به این نسخه از لاراول افزوده شده است. این دو رویداد عبارتند از:

  • ScheduledTaskStarting  
  • ScheduledTaskFinished

برای اینکه در رابطه با این رویداد ها اطلاعات بیشتری بدست بیاورید می توانید به لینکی که در زیر برای شما آماده کرده ایم مراجعه کنید (لینک مربوط به درخواستی است که توسط 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

Laravel V6 Change Log

به شکل کلی و مطابق گفته های تیم توسعه لاراول امکانات زیر در لاراول افزوده شده و یا مشکلات مشخص شده در زیر برطرف شده اند:

v6.0.4

Added

  • Added TestResponse::assertJsonPath() method (#29957)
  • Added hasMacro \ getGlobalMacro \ hasGlobalMacro methods to Eloquent Builder (#30008)
  • Added Illuminate\Database\Eloquent\Relations\BelongsToMany::getPivotColumns() method (#30049)
  • Added ScheduledTaskFinished \ ScheduledTaskStarting events to signal when scheduled task runs (#29888)
  • Allowing adding command arguments and options with InputArgument \ InputOption objects (#29987)

Fixed

  • Fixed __() with null parameter (#29967)
  • Fixed modifying updated_at column on custom pivot model (#29970)
  • Fixed Illuminate\Redis\Limiters\ConcurrencyLimiter (#30005)
  • Fixed VerifyCsrfToken middleware when response object instance of Responsable interface (#29972)
  • Fixed Postgresql column creation without optional precision (#29873)
  • Fixed migrations orders with multiple path with certain filenames (#29996)
  • Fixed adding NotFoundHttpException to “allowed” exceptions in tests (#29975)

Changed

  • Make it possible to disable encryption via 0/false (#29985)
  • Allowed a symfony file instance in validate dimensions (#30009)
  • Create storage fakes with custom configuration (#29999)
  • Set locale in PendingMail only if locale present conditionally (dd1e0a6)
  • Improved sorting of imports alphabetically on class generation from stub (#29951)

Refactoring

  • Changed imports to Alpha ordering in stubs (#29954, #29958)
  • Used value helper where possible (#29959)
  • Improved readability in auth.throttle translation (#30011, #30017)

نظر شما چیست؟ شما می توانید نظرات ،پیشنهادات و اطلاعات خود را در رابطه با این مطلب و موضوعات مربوط از طریق قسمت نظرات با ما و سایر بازدیدکنندگان در میان بگذارید.


نویسنده: مصطفی دربان حسینی... بازیدها: 430 - نظرات : 0 دسته بندی: برنامه نویسی

جستجو
کلاس برتر
ارائه دهنده بهترین و به روز ترین ویدیو های و مقالات آموزشی و همچنین مقالات مختلف در رابطه با تکنولوژی ،معماری ،مدیریت و سایر رشته های کاربردی.ما برای شما بهترین ها را میخواهیم.

سایر خدمات مجموعهخدمات زیر تحت مدیریت برد تخصصی ارائه می شود.
طراحی وب سایت
راه اندازی و پشتیبانی شبکه
هوشمند سازی منازل
افزایش کارایی نیرو انسانی
تعمیرات دستگاه های الکترونیکی
طراحی داخلی
تبلیغات فضای مجازی
برنامه نویسی