تغییرات جدید لاراول 9 در جهت تقویت امکانات ورژن قبلی لاراول می باشد. ورژن 9 لاراول در اوایل سال 2022 منتشر خواهد شد. در این پست میخواهیم تمام ویژگیها و تغییرات جدیدی که تاکنون مشخص گردیده، بیان کنیم.
تغییر زمان انتشار لاراول 9
تیم لاراول بنا به اطلاع قبلی قصد انتشار نسخه 9 در سپتامبر سال 2021 را داشتند. اما این تیم تصمیم خود را برای زمان انتشار تغییر و آن را در ژانویه 2022 اعلام کرد. علت تغییر را اینگونه بیان کردند:
«با توجه به استفاده از برخی اجزا Symfony در طراحی تعدادی از ویژگیهای لاراول و انتشار Symfony 6.0 در ماه نوامبر، انتشار لاراول 9.0 تا ژانویه 2022 به تعویق افتاد. با تأخیر در انتشار لاراول 9، میتوانیم اجزای اصلی Symfony خود را به Symfony 6.0 ارتقا دهیم.»
فرایند تغییرات جدید لاراول 9 همچنین زمان انتشار نسخه های بعدی را نیز به عقب می اندازد. برنامه زمانی نسخه های بعدی لاراول را مشاهده می کنید:
لاراول 9: ژانویه 2022
lavavel 10: ژانویه 2023
لاراول 11: ژانویه 2024
استفاده از PHP 8 در نسخه 9 لاراول
از آنجایی که نسخه 9 لاراول از Symfony 6.0 استفاده می کند و سیمفونی ورزن 6 برای اجرا به PHP 8 نیاز دارد و به این معنی که لاراول 9 نیز برای اجرا به PHP 8 نیاز دارد. در نتیجه PHP نسخه 8 رو باید روی سیستم خود نصب داشته باشید.
1. ویژگی جدید Anonymous Stub Migrations در لاراول نسخه 9
در اوایل سال 2021، لاراول 8.37 با ویژگی جدیدی به نام Anonymous Migrations عرضه کرد که از برخورد نام های یکسان که در اصطلاح به آن name collisions می گویند، جلوگیری می کند. کلاس مهاجرت جلوگیری می کند.
use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::table('people', function (Blueprint $table) { $table->string('first_name')->nullable(); }); } };
زمانی که در لاراول نسخه 9 کد php artisan make:migration را اجرا می کنید، این ویژگی به صورت پیش فرض فعال می باشد.
2. قابلیت جدید Query Builder
به لطف کریس مورل، لاراول 9 دارای نوع جدیدی از Query Builder خواهد بود. در نتیجه شما می توانید این Query Builder جدید را با تمام جزئیات بر روی گیت لاراول مشاهده کنید.
توسعهدهندگانی که برای تجزیه و تحلیل ، تغییر فاکتور یا تکمیل کد در IDE خود وابسته هستند، فقدان یک رابط مشترک یا وراثت بین Query\Builder، Eloquent\Builder و Eloquent\Relation میتواند بسیار مشکل باشد. با استفاده از دستور زیر می توان این مشکل را بر طرف کرد.
return Model::query() ->whereNotExists(function($query) { // $query is a Query\Builder }) ->whereHas('relation', function($query) { // $query is an Eloquent\Builder }) ->with('relation', function($query) { // $query is an Eloquent\Relation });
این ویژگی رابط جدید مطابق رو به رو Illuminate\Contracts\Database\QueryBuilder و خصوصیت Illuminate\Database\Eloquent\Concerns\DecoratesQueryBuilder را پیاده سازی می کند.
3. توابع رشته ای PHP 8
یکی دیگر از تغییرات جدید لاراول 9، توابع رشته ای می باشد. با توجه به توضیحات قبل، حداقل ورژن PHP مورد نیاز برای راه اندازی لاراول 9، پی اچ پی 8 می باشد. بنابراین از توابع رشته ای زیر در کلاس \Illuminate\Support\Str class استفاده شده است.
«()str_contains(), str_starts_with(), str_ends_with»
4. تغییر بزرگ از SwiftMailer به Symfony Mailer
سیفونی، SwiftMailer را منسوخ کرده است. بنابراین در لاراول 9 نیز همه ارتباطات ایمیلی بر اساس سیفونی میلر است. این ویژگی تغییرات اساسی نسبت به لاراول 8 ایجاد خواهد کرد. پس منتظر بمانید تا به صورت رسمی راهنمای لاراول برای این قسمت منتشر شود.
5. قابلیت حذف فایل server.php
این قابلیت نیز جز ویژگی های جدید لاراول 9 می باشد. در نتیجه می توانید فایل server.php را از پروژه خود حذف کرده و در داخل فریم ورک قرار دهید. این فایل فقط برای سرویس php artisan استفاده می شود.
مطالب مرتبط