امکانات جدید نسخه های laravel هر کدام نسبت به ورژن قبلی

امکانات جدید نسخه های laravel هر کدام نسبت به ورژن قبلی

امکانات جدید نسخه های لاراول Laravel هر کدام نسبت به ورژن قبلی

 

برنامه انتشار لاراول

تیم اصلی لاراول سالانه دو نسخه اصلی را منتشر می‌کرد - هر شش ماه یکی.

با این حال، زمانی که Taylor Otwell ، خالق لاراول، اعلام کرد که اکنون هر سال یک نسخه اصلی منتشر خواهد شد، چرخه انتشار تغییر کرد. این امر به تیم اصلی و جامعه امکان را داد تا زمان و تلاش بیشتری را به نسخه خاصی از framework اختصاص دهند و ویژگی های قدرتمند جدیدی را بدون ایجاد تغییرات اساسی معرفی کنند.

با انتشار لاراول 9 در 8 فوریه 2022، برنامه مورد انتظار انتشار به شرح زیر است:

لاراول 10: 7 فوریه 2023

لاراول 11: 6 فوریه 2024

علاوه بر این، طبق سیاست پشتیبانی، رفع باگ ها به مدت 18 ماه و به روز رسانی های امنیتی به مدت دو سال برای تمامی نسخه های لاراول ارائه می شود.

 

Version

PHP (*)

Release

Bug Fixes Until

Security Fixes Until

8

7.3 - 8.1

September 8th, 2020

July 26th, 2022

January 24th, 2023

9

8.0 - 8.2

February 8th, 2022

August 8th, 2023

February 6th, 2024

10

8.1 - 8.2

February 14th, 2023

August 6th, 2024

February 4th, 2025

11

8.2

Q1 2024

August 5th, 2025

February 3rd, 2026

  

Laravel Pennant

Laravel Pennant بسته ای است که توسط تیم لاراول ایجاد شده است که با Laravel 10 وارد می شود و Feature Flags را برای برنامه های شما ارائه می دهد.Pennant شامل یک درایور آرایه در حافظه و یک درایور پایگاه داده برای ذخیره سازی دائمی Feature هاست.

 

Feature Flags (گاهی اوقات به عنوان Feature Toggles شناخته می شود) یک روش مفید برای تغییر رفتار یک سیستم بدون تغییر خود کد است.

Feature Toggles (که اغلب به عنوان Feature Flags نیز شناخته می شود) یک تکنیک قدرتمند است که به تیم ها اجازه می دهد تا رفتار سیستم را بدون تغییر کد تغییر دهند.

بازگشت عملکرد سیستم(در صورت بروز خطا)، زمان‌بندی انتشار یک ویژگی، تست A/B بسیار ساده چندتا از مزیت های Feature Flags می باشد.

 

use Laravel\Pennant\Feature;
use Illuminate\Support\Lottery;
 
Feature::define('new-onboarding-flow', function () {
    return Lottery::odds(1, 10);
});



if (Feature::active('new-onboarding-flow')) {
    // ...
}


@feature('new-onboarding-flow')
    <div>
        <!-- ... -->
    </div>
@endfeature
 

(Process layer for Laravel ) لایه فرآیند برای لاراول  

لاراول با Processes Facade به شما این امکان را می‌دهد به راحتی فرآیندهای خارجی را از برنامه لاراول خود فراخوانی و مدیریت کنید.

چند ویژگی  Process layer:

  • فرآیندهای ناهمزمان Asynchronous processes
  • جلوگیری از فرآیندهای سرگردان در طول آزمایش
  • مدیریت مجموعه ای از فرآیندهای همزمان و ناهمزمان
use Illuminate\Support\Facades\Process;
 
$result = Process::run('ls -la');
 
$result->successful();
$result->failed();
$result->exitCode();
$result->output();
$result->errorOutput();
$result->throw();
$result->throwIf($condition);
 

Test Profiling

دستور Artisan test یک گزینه --profile جدید دریافت کرده است که به شما امکان می دهد به راحتی کند ترین تست ها را در برنامه خود شناسایی کنید:

php artisan test --profile


 

Faster Hashing Algorithm

xxHash یک الگوریتم Hash است که بسیار سریع است. دارای تصادفی و پراکندگی خروجی عالی و همچنین منحصر به فرد بودن برای کاهش برخورد (collisions) است. از آنجایی که PHP 8.1 از xxh128 پشتیبانی می کند و لاراول 10 روی PHP 8.1 اجرا می شود، داشتن چنین الگوریتم هش قابل اعتمادی در لاراول 10 ایده آل است.

 

 All Validation Rules Invokable by Default

همه قوانین اعتبار سنجی به صورت پیش فرض Invokable  هستند

اگر می خواهید در لاراول 9 یک قانون اعتبار سنجی Invokable  ایجاد کنید، باید پرچم --invokable را بعد از دستور artisan اضافه کنید. این دیگر ضروری نیست زیرا تمام قوانین لاراول 10 به طور پیش فرض Invokable  هستند. بنابراین، می‌توانید دستور زیر را برای ایجاد یک rule جدید Invokable  در لاراول 10 اجرا کنید:

 
# Laravel 9 creates a rule class that implements the
# Illuminate\Contracts\Validation\Rule interface
artisan make:rule Uppercase
 
# Laravel 9 flag to create an invokable and implicit rule
artisan make:rule Uppercase --invokable
artisan make:rule Uppercase --invokable --implicit
 
# Laravel 10 creates an invokable rule by default
artisan make:rule Uppercase
 
# Laravel 10 implicit rule
artisan make:rule Uppercase --implicit
 
 

Eager Loading Optimization

یکی از ویژگی‌های جالب جدید لاراول 10، Eager Loading Optimization در زمانی است که هیچ کلیدی برای loaded وجود ندارد. این تغییر بیشتر یک اصلاح است تا یک ویژگی، زیرا یک مشکل فعلی را حل می کند که در آن روابط eager loading  باعث میشود تعداد زیادی از پرس و جوهای غیر ممکن اجرا شوند.

 

در حال حاضر وقتی رابطه های eager loading هیچ کلیدی برای بارگیری ندارد، لاراول همچنان یک کوئری شبیه به این مورد را اجرا می‌کند که

select * from `table_name` where 0 = 1

 

 با این حال، به‌روزرسانی جدید لاراول 10 بررسی می‌کند که آیا وجود دارد یا خیر. هر کلیدی در وهله اول در دسترس است، و در غیر این صورت، مجموعه ای خالی را فراهم می کند و نیازی به پرس و جوهای غیر ضروری پایگاه داده را از بین می برد.

 

Horizon و Telescope با ظاهری جدید

Horizon و Telescope با ظاهری جدید و مدرن از جمله تایپوگرافی بهبود یافته، فاصله گذاری و طراحی به روز شده اند:
منابع:

https://laravel.com/docs/10.x/releases

https://kinsta.com/blog/laravel-10/
 
نویسنده :
مجید پورداود
  • مجید پورداود
  • مهندس نرم افزار و تحلیلگر ارشد سیستم های کامپیوتری تحت وب می باشم. از سال 1395 برنامه نویسی را شروع کردم و به زبان های php (فریم ورک laravel -codeigniter)  و زبان جاوا اسکریپت (فریم ورک express.js-nest.js)  تسلط دارم.  

ثبت دیدگاه جدید

0 دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *