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

لاراول 6.5 منتشر شد!"معرفی ویژگی های جدید لاراول 6.5"

تاریخ: جمعه, 17 آبان 98

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


تیم توسعه لاراول در این هفته نسخه جدیدی از لاراول را با شماره ورژن 6.5 منتشر کرد. در این نسخه یک تابع remember جدید به LazyCollection افزوده شده. این نسخه همچنین دارای یک سری string helpers های جدید است و دارای یک سریquery builder جدید نیز می باشد.

شما می توانید این نسخه از لاراول را همانند نسخه های قبلی و به سادگی نصب کنید. کافیست یا اینستالر لاراول را راوی سیستم خود نصب کنید و یا به کمک کامپوزر یک پروژه لاراولی جدید ایجاد کنید. برای این منظور می توانید از یکی از دو روش زیر استفاده کنید:

//دانلود اینستالر لاراول
composer global require laravel/installer

//ساخت پروژه جدید
laravel new blog

//نصب پروژه لاراولی با کامپوزر
composer create-project --prefer-dist laravel/laravel blog

در اولین قدم متد جدیدی به نام LazyCollection::remember() به این نسخه افزوده شده است که تمام مقادیر شمارش شده را (enumerated values) در خود نگه می دارد (به خاطر می آورد) و وقتی دوباره آنها شمارش شوند دوباره در خود نگه نمی دارد. برای درک بهتر این موضوع می توانید قطعه کد زیر را بررسی کنید:

$users = User::cursor()->remember();

// No query has been executed yet.

$users->all();

// All values have been pulled from the DB.

$users->all();

// We did not hit the DB again. We got the users from `remember`’s cache.

در اینجا یک سری تست از PR’s آورده شده است که ممکن است کمی برای درک این موضوع ساده تر باشند:

$source = [1, 2, 3, 4];

$collection = LazyCollection::make(function () use (&$source) {
    yield from $source;
})->remember();

$this->assertSame([1, 2, 3, 4], $collection->all());

$source = [];

$this->assertSame([1, 2, 3, 4], $collection->all());

در ادامه نیز دو متد جدید str با نام های afterLast() و beforeLast() به این نسخه افزوده شده است. که برای درک کاربرد آنها می توانید قطعه کد زیر را مشاهده کنید:

$type = 'App\Notifications\Tasks\TaskUpdated';
Str::afterLast($type, '\\'); // TaskUpdated

$filename = 'photo.2019.11.04.jpg';
Str::beforeLast($filename, '.'); // photo.2019.11.04

همچنین در این نسخه در query builder ها شاهد دو متد کاربردی جدید به نام های existsOr و doesntExistOr هستیم ،که به شما اجازه می دهد در صورت نادرست بودن پاسخ (یا شرط) بتوانید یک callback جدید تعریف کنید. برای درک این موضوع قطعه کد زیر را در نظر بگیرید:

$user->dossiers()
    ->whereNull('closed_at')
    ->doesntExistOr(function () {
        abort(422, 'User already has an open dossier');
    });

دیگر ویژگی افزوده شده به این نسخه اضافه شدن unless conditions به بلید های شخصی شده (custom Blade) است. برای مثال یک مثال شخصی سازی شده از env از داکیومنت های Blade به شما این اجازه را می دهد تا به شکل زیر کار کنید:

@env('local')
    // The application is in the local environment…
@elseenv('testing')
    // The application is in the testing environment…
@else
    // The application is not in the local or testing environment…
@endenv

اکنون شما می توانید از گزینه “unless” در این شرایط استفاده کنید تا از رخ دادن سناریو های عجیب و غریب و اشتباه جلوگیری کنید. برای درک بهتر به کد زیر دقت کنید:

{{-- Instead of this: --}}
@env('production')
@else
    // The application is not in the production environment...
@endenv

{{-- You can write this: --}}
@unlessenv('production')
    // The application is not in the production environment...
@endenv

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

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

آدرس مقایسه لاراول 6.5.0 و 6.4.1

V6.5.0

Added

  • Added LazyCollection::remember() method (#30443)
  • Added Str::afterLast() and Str::beforeLast() methods (#30507)
  • Added existsOr() and doesntExistOr() methods to the query builder (#30495)
  • Added unless condition to Blade custom if directives (#30492)

Changed

  • Added reconnect if missing connection when beginning transaction (#30474)
  • Set Redis cluster prefix with PhpRedis (#30461)

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


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

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