- آموزش laravel
- 1401-11-28
- 502
- 0
امکانات جدید نسخه های لاراول 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:
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 با ظاهری جدید
ثبت دیدگاه جدید
0 دیدگاه
نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند *