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

لاراول 6.8.0 منتشر شد "معرفی امکانات و تغییرات لاراول 6.8.0"

تاریخ: پنجشنبه, 28 آذر 1398

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


مطابق روند قبل در توسعه لاراول این هفته نیز شاهد انتشار یک به روز رسانی دیگر برای نسخه 6 لاراول (Laravel 6.8.0) بودیم که در این مطلب قصد داریم به معرفی تغییرات و ویژگی های جدید در این نسخه بپردازیم پس در ادامه با ما همراه باشید.

یکی دیگر از ویژگی های این نسخه قرار داده شدن ArrayAccess ها در Responses می باشد. طبق اطلاعات منتشر شده تیلور اوتول (Taylor Otwell) ArrayAccess را در کلاس های JsonResponse و TestResponse پیاده سازی کرده است (قرار داده است). در این حالت اگر می خواهید که دسترسی به آرایه ها را در داده های JSON به صورت آزمایشی یا یک نمونه از JsonResponse بدست بیاوردی کاری ساده تر خواهد بود. دز زیر توضیحاتی از تیلور اوتول را برای شما قرار داده ایم که بیان دلیل این که این یک ویژگی مفید برای استفاده است را بیان میکند:

متن اصلی:

When building / testing and JSON API, I like to sometimes interact with the raw JSON payload returned in the response. Normally you would have to access this via $response->original['foo']; however, with this change I implement ArrayAccess on both JsonResponse and TestResponse in order to be able to proxy directly into the response JSON without going through the original property.

ترجمه:

در زمان ساخت ،آزمایش (testing) و کار با API جی سون ، گاهی اوقات دوست دارم تا با JSON بخام برگشت داده شده تعامل داشته باشم و  کار کنم. که به طور معمول باید به شکل استفاده از $response->original['foo']; به آن دسترسی پیدا کنیم ،با این وجود با این تغییر جدید من ArrayAccess  در JsonResponse  و TestResponse  پیاده سازی میکنم تا بتوانم بدون گذشتن از خاصیت اصلی ، مستقیماً به پاسخ JSON پاسخ دهیم.

در زیر یک مثال سریع از PRرا برای شما قرار داده ایم:

// In a test...

Route::get('/', function () {
  return ['servers' => ['foo', 'bar']];
});

$response = $this->get('/');

// Before
$this->assertCount(2, $response->original['servers']);

// After
$this->assertCount(2, $response['servers']);

دیگر ویژگی جدید در این نسخه امکان استفاده پکیج ها از تم سفارشی Markdown Mail Themes است.

مطابق گفته تیم توسعه لاراول اکنون پکیج ها می توانند از تم های سفارشی نشانه گذاری استفاده کنند. اکنون ، یک پکیج می تواند چیزی مانند مثال زیر را استفاده کند:

mailcoach::mails.layout.mailcoach

پشتیبانی تودرتو (Nested Support) در assertViewHas()

در این نسخه اعلان ها در TestResponse::assertViewHas() از بررسی آرایه های تودرتو پشتیبانی می کنند. برای درک بهتر به کد زیر دقت کنید:

$this->get('/page')
    ->assertViewHas('page', [
        'component' => 'PageComponent',
        'url' => '/page',
        'version' => null,
        'props' => [
            'user_name' => 'John Doe'
        ]
    ]);

حالا می توانید یک ویژگی به شکل خام جداگانه ایجاد کنید. (Raw Attribute)

اکنون می توانید مقادیر خام (row) را برای ویژگی های مدل منحصر به فرد را با استفاده از setRawAttribute() ایجاد کنید. برای درک بهتر به کد زیر دقت نید.

// Set attribute to value.
$model->setRawAttribute('key', $value);

// Set attribute to value and also sync to original attribute.
$model->setRawAttribute('key', $value, true);

فلگ (خاصیت) Force  برای برای دستور artisan make:controller

درست شبه به مدل ها ،می توانید با استفاده از دستور make: controller ایجاد کنترلر را به شکل force (اجبار) انجام بدهید. حالت force زمانی مفید است که در زمان ایجاد یک کنترلر از نوع ریسورس فراموش کرده باشید که –resource را قرار داده باشید و بخواهید کنترلر را دوباره ایجاد کنید و این خاصیت باعث میشود کنترلر دوباره ساخته شده و جایگزین شود (از نو ساخته شود). شما می توانید به شکل زیر از این حالت استفاده کنید:

php artisan make:controller --force --resource ExampleController

ایجاد Seeder با دستور artisan make:model:

به کمک فلگ (خاصیت) –seed در دستور make:model artisan می توانید همزمان با ایجاد مدل یک Seeder هم برای مدل مربوط با نام مدل ایجاد کنید. برای درک بیشتر به کد زیر دقت کنید:

# creates PostSeeder class
artisan make:model --seed Post

البته لیست کامل ویژگی های جدید ،تغییرات و موارد رفع شده و نیز تفاوت های بین لاراول ورژن 6.8.0 و 6.7.0 را به همراه یادداشت های منتشر شده برای لاراول را در آدرس گیت هاب آن که در زیر برای شما قرار داده ایم مشاهده کنید:

آدرس مربوط به تغییرات نسخه6.x   لاراول در گیت هاب

آدرس مقایسه لاراول 6.8.0 و 6.7.0

در زیر نیز لیستی از تغییرات این نسخه را مشاهده می کنید:

v6.8.0

Added

  • Allowed packages to use custom markdown mail themes (#30814, 2206d52)
  • Added more quotes to Inspiring (4a7d566, 9693ced)
  • Added support for nested arrays in TestResponse::assertViewHas() (#30837)
  • Added Model::setRawAttribute() (#30853)
  • Added --force option to the make:controller resource (#30856)
  • Allowed passing an array to Resource::collection() (#30800)
  • Implemented ArrayAccess on JsonResponse and TestResponse (#30817)
  • Added --seed option to the make::model resource (#30828, 2cd9417)

Fixed

  • Fixed two index creation instead of one when using change() (#30843)
  • Prevent duplicate attachments in the Mailable (3c8ccc2)
  • Fixed ServiceProvider for PHP 7.4 in Lumen (#30819)
  • Fixed non-eloquent model validation in database validation rules (#30840)

Changed

  • Changed rescue() helper (#30838)
  • Added previous exception to EntryNotFoundException thrown in Container.php (#30862)
  • Changed DatabaseNotification::$keyType to match uuid (#30823)

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


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

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

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