آموزش آپدیت لاراول 10 به 11: راهنمای جامع

تجربه نشان داده است که آپدیت لاراول 10 به 11 می تواند اقدامی چالش برانگیز برای اکثر کاربران این فریم ورک کاربردی در دنیای کدنویسی باشد، اما ما تصمیم داریم در همین راهنما از این مشکل پرده برداری کنیم و شما را با ساده ترین مراحل آپگرید کردن در لاراول تنها بگذاریم. پس تا پایان این آموزش همراه ما بمانید تا به راحتی با قابلیت های جدیدی از این فریم ورک محبوب بر پایه زبان PHP رو در رو شوید.
مزیت های استفاده از نسخه لاراول 11 نسبت به 10
کاملاً طبیعی است که تمام برنامه نویسان از آپدیت لاراول نسخه 10 به 11 انتظار ارتقا سطح قابلیت های موجود را داشته باشند. به همین دلیل در ادامه تعدادی از این برتریت ها بررسی خواهد شد:- بهبود عملکرد در کدنویسی
- استفاده از ویژگی های جدید
- پشتیبانی از تکنولوژی روز
- امنیت بالا
- افزایش منابع آموزشی
- رفع باگ های طاقت فرسا
- امکانات جدید در ORM
- جداسازی بهتر کد و توسعه ماژولار
پیشنیازهای آپدیت نسخه در فریم ورک Laravel
- حتماً باید نسخه 10 را داشته باشید، زیرا از لحاظ فنی ارتقا از نسخه 9 به 11 توصیه نمی شود.
- PHP 8.2+ را با پسوندهای Ctype ،cURL ،DOM ،Fileinfo ،Filter ،Hash ،Mbstring ،Open SSL ،PCRE ،PDO Session ،Tokenizer ،XML ،Nginx یا Apache را ایجاد کنید.
- در پایان مطمئن شوید که Third-party Composer packages شما از لاراول 11 پشتیبانی خواهد کرد.
مراحل آپدیت لاراول 10 به 11
در ابتدا باید دریافت کنیم که Third-party Composer packages از نسخه 11 پشتیبانی می کند، اما در غیر این صورت می توانید از دستور زیر استفاده کنید:composer why-not laravel/framework 11.0
composer outdated --direct
در صورت تمایل می توانید بسته های غیر قابل اجرا را با بسته های دیگری جایگزین کنید. سپس کم ترین نسخه را برای Given Dependency در نظر بگیرید و در ادامه یک خط را در یک فایل مشخص شده ای تغییر دهید. اکنون یک Method یا مقدار بازگشتی تغییر داده شده است که می توانید تغییرات لازمه را اعمال کنید. این مرحله می تواند با توجه به حجم پایگاه کد، میزان تست و تعداد پروژه ها زمانبر باشد.
- به روز رسانی Composer Dependencies در لاراول
- Framework به نسخه 11.0
- Nunomaduro/collision به نسخه 8.1
- Breeze به نسخه 2.0
- Cashier به نسخه 15.0
- Dusk به نسخه 8.0
- Jetstream به نسخه 5.0
- Octane به نسخه 2.3
- Passport به نسخه 12.0
- Sanctum به نسخه 4.0
php artisan vendor: publish --tag=cashier-migrations
php artisan vendor: publish --tag=passport-migrations
php artisan vendor: publish --tag=sanctum-migrations
php artisan vendor: publish --tag=spark-migrations
php artisan vendor: publish --tag=telescope-migrations
برای بررسی بیشتر می توانید راهنماهای مربوط به Package ها را مطالعه کنید تا از جزئیات اطلاع داشته باشید:
- Laravel Cashier Stripe
- Laravel Passport
- Laravel Sanctum
- Laravel Spark Stripe
- Laravel Telescope
global composer requires laravel/installer:^5.6
اما چنانچه از قبل در برنامه ها Laravel installer را داشتید، پس باید Doctrine/dbal Composer را حذف کنید.
- به روز رسانی احراز هویت در لاراول
'rehash_on_login' => false,
- به روز رسانی قرارداد User Provider در لاراول
public function rehashPasswordIfRequired (Authenticatable user, array credentials, bool force = false);
- به روز رسانی قرارداد Authenticatable در لاراول
همچنین با دانش اینکه قرارداد Illuminate\Contracts\Auth\Authenticatable یک روش جدید از getAuthPasswordName دریافت کرده است که می توانید متد جدید getAuthPasswordName را به implementation اضافه کنید:
public function getAuthPasswordName()
{
return 'password';
}
چه زمان باید از Laravel Shift برای ارتقا نسخه استفاده کرد؟
فراموش نکنید چنانچه توسعه دهنده حرفه ای هستید و Client زیادی برای لاراول 11 بهره می برید، باید از Laravel Shift استفاده کنید، زیرا این کار می تواند چالش های زیادی را از پیش رو شما بردارد. بنابراین در ادامه مطالب به مراحل این فناوری نیز اشاره شده است:
- ابتدا باید با GitHub ،BitBucket وارد GitLab شوید.
- یک Shift انتخاب کرده و جزئیات Repository را وارد کنید.
- Pull Request هایی همراه با Atomic commits برای بررسی های بیشتر داشته باشید.
