راهنمای ارتقا
تغییرات با تاثیر زیاد
تغییرات تاثیر متوسط
تغییرات کم تاثیر
ارتقا به 11.0 از 10.x
زمان تخمینی ارتقا: 15 دقیقه
ما سعی می کنیم هر تغییر احتمالی را مستند کنیم. از آنجایی که برخی از این تغییرات شکسته در بخشهای مبهم فریمورک هستند، تنها بخشی از این تغییرات ممکن است بر برنامه شما تأثیر بگذارد. می خواهید در زمان صرفه جویی کنید؟ می توانید از Laravel Shift برای کمک به ارتقاء خودکار برنامه خود استفاده کنید.
به روز رسانی وابستگی ها
احتمال تاثیر: زیاد
PHP 8.2.0 مورد نیاز است
لاراول اکنون به PHP 8.2.0 یا بالاتر نیاز دارد.
وابستگی های composer
شما باید وابستگی های زیر را در فایل برنامه خود به روز کنید
composer.json
:
-
laravel/framework
به^11.0
-
nunomaduro/collision
به^8.1
-
laravel/breeze
به^2.0
(در صورت نصب) -
laravel/cashier
به^15.0
(در صورت نصب) -
laravel/dusk
به^8.0
(در صورت نصب) -
laravel/jetstream
به^5.0
(در صورت نصب) -
laravel/octane
به^2.3
(در صورت نصب) -
laravel/passport
به^12.0
(در صورت نصب) -
laravel/sanctum
به^4.0
(در صورت نصب) -
laravel/spark-stripe
به^5.0
(در صورت نصب) -
laravel/telescope
به^5.0
(در صورت نصب) -
inertiajs/inertia-laravel
به^1.0
(در صورت نصب)
اگر برنامه شما از Laravel Cashier Stripe، Passport، Sanctum، Spark Stripe یا Telescope استفاده می کند، باید مهاجرت آنها را به برنامه خود منتشر کنید. Cashier Stripe، Passport، Sanctum، Spark Stripe، و Telescope دیگر به طور خودکار مهاجرت ها را از فهرست مهاجرت خود بارگذاری نمی کنند . بنابراین، باید دستور زیر را برای انتشار مهاجرت آنها به برنامه خود اجرا کنید:
php artisan vendor:publish --tag=cashier-migrationsphp artisan vendor:publish --tag=passport-migrationsphp artisan vendor:publish --tag=sanctum-migrationsphp artisan vendor:publish --tag=spark-migrationsphp artisan vendor:publish --tag=telescope-migrations
علاوه بر این، باید راهنمای ارتقاء هر یک از این بستهها را مرور کنید تا مطمئن شوید که از هرگونه تغییر اضافی آگاه هستید:
اگر نصب کننده لاراول را به صورت دستی نصب کرده اید، باید نصب کننده را از طریق Composer به روز کنید:
composer global require laravel/installer:^5.6
در نهایت، اگر قبلاً آن را به برنامه خود اضافه کرده باشید، می توانید
doctrine/dbal
وابستگی Composer را حذف کنید، زیرا لاراول دیگر به این بسته وابسته نیست.
ساختار برنامه
لاراول 11 ساختار برنامه پیش فرض جدیدی را با فایل های پیش فرض کمتر معرفی می کند. یعنی برنامه های جدید لاراول حاوی ارائه دهندگان خدمات، میان افزارها و فایل های پیکربندی کمتری هستند.
با این حال، ما توصیه نمیکنیم که برنامههای لاراول 10 در حال ارتقاء به لاراول 11 تلاش کنند تا ساختار برنامه خود را تغییر دهند، زیرا لاراول 11 به دقت تنظیم شده است تا از ساختار برنامه لاراول 10 نیز پشتیبانی کند.
احراز هویت
رمز عبور مجدد
اگر «فاکتور کار» الگوریتم هش شما از آخرین بار هش شدن رمز عبور بهروزرسانی شده باشد، لاراول 11 بهطور خودکار پسوردهای کاربر شما را در حین احراز هویت مجدداً بازنویسی میکند.
به طور معمول، این نباید برنامه شما را مختل کند. با این حال، می توانید این رفتار را با اضافه کردن
rehash_on_login
گزینه به فایل پیکربندی برنامه خود غیرفعال کنید
config/hashing.php
:
'rehash_on_login' => false,
قرارداد
UserProvider
احتمال تاثیر: کم
قرارداد روش
Illuminate\Contracts\Auth\UserProvider
جدیدی دریافت کرده است
rehashPasswordIfRequired
. این روش زمانی که ضریب کار الگوریتم هش برنامه تغییر کرده است وظیفه هش کردن مجدد و ذخیره رمز عبور کاربر در فضای ذخیره سازی را بر عهده دارد.
اگر برنامه یا بسته شما کلاسی را تعریف می کند که این رابط را پیاده سازی می کند، باید
rehashPasswordIfRequired
متد جدید را به پیاده سازی خود اضافه کنید. پیاده سازی مرجع را می توان در کلاس یافت
Illuminate\Auth\EloquentUserProvider
:
public function rehashPasswordIfRequired(Authenticatable $user, array $credentials, bool $force = false);
قرارداد
Authenticatable
احتمال تاثیر: کم
قرارداد روش
Illuminate\Contracts\Auth\Authenticatable
جدیدی دریافت کرده است
getAuthPasswordName
. این روش مسئول بازگرداندن نام ستون رمز عبور موجودیت قابل احراز هویت شما است.
اگر برنامه یا بسته شما کلاسی را تعریف می کند که این رابط را پیاده سازی می کند، باید
getAuthPasswordName
متد جدید را به پیاده سازی خود اضافه کنید:
public function getAuthPasswordName(){ return 'password';}
مدل پیشفرض
User
موجود با لاراول این روش را بهطور خودکار دریافت میکند، زیرا متد در
Illuminate\Auth\Authenticatable
صفت گنجانده شده است.
کلاس
AuthenticationException
احتمال تاثیر: بسیار کم
متد
redirectTo
کلاس
Illuminate\Auth\AuthenticationException
اکنون به یک
Illuminate\Http\Request
نمونه به عنوان اولین آرگومان نیاز دارد. اگر به صورت دستی این استثنا را دریافت می کنید و
redirectTo
متد را فراخوانی می کنید، باید کد خود را بر این اساس به روز کنید:
if ($e instanceof AuthenticationException) { $path = $e->redirectTo($request);}
حافظه پنهان
پیشوندهای کلید کش
احتمال تاثیر: بسیار کم
قبلاً، اگر یک پیشوند کلید حافظه پنهان برای فروشگاه های کش DynamoDB، Memcached یا Redis تعریف می شد، لاراول a را
:
به پیشوند اضافه می کرد. در لاراول 11، پیشوند کلید کش
:
پسوند را دریافت نمی کند. اگر می خواهید رفتار پیشوند قبلی را حفظ کنید، می توانید
:
پسوند را به صورت دستی به پیشوند کلید حافظه پنهان خود اضافه کنید.
مجموعه ها
قرارداد
Enumerable
احتمال تاثیر: کم
روش
dump
قرارداد برای پذیرش یک
استدلال
Illuminate\Support\Enumerable
متغیر به روز شده است .
...$args
اگر این رابط را پیاده سازی می کنید، باید پیاده سازی خود را بر این اساس به روز کنید:
public function dump(...$args);
پایگاه داده
SQLite 3.35.0+
احتمال تاثیر: زیاد
اگر برنامه شما از پایگاه داده SQLite استفاده می کند، SQLite 3.35.0 یا بالاتر مورد نیاز است.
casts
روش
مدل شیوا
احتمال تاثیر: کم
کلاس مدل پایه Eloquent اکنون
casts
روشی را به منظور پشتیبانی از تعریف casts تعریف می کند. اگر یکی از مدل های برنامه شما
casts
رابطه ای را تعریف می کند، ممکن است با
casts
روشی که اکنون در کلاس مدل پایه Eloquent وجود دارد در تضاد باشد.
اصلاح ستون ها
احتمال تاثیر: زیاد
هنگام اصلاح یک ستون، اکنون باید به صراحت تمام اصلاحکنندههایی را که میخواهید پس از تغییر در تعریف ستون حفظ کنید، اضافه کنید. هر گونه ویژگی از دست رفته حذف خواهد شد. به عنوان مثال، برای حفظ ویژگیهای
unsigned
،
default
و
comment
، باید هر اصلاحکننده را به طور صریح هنگام تغییر ستون فراخوانی کنید، حتی اگر آن ویژگیها با مهاجرت قبلی به ستون اختصاص داده شده باشند.
به عنوان مثال، تصور کنید مهاجرتی دارید که ستونی
votes
با ویژگی های
unsigned
،
default
و و ایجاد می کند
comment
:
Schema::create('users', function (Blueprint $table) { $table->integer('votes')->unsigned()->default(1)->comment('The vote count');});
بعداً، یک مهاجرت می نویسید که ستون را
nullable
نیز تغییر می دهد:
Schema::table('users', function (Blueprint $table) { $table->integer('votes')->nullable()->change();});
در لاراول 10، این مهاجرت ویژگیهای
unsigned
،
default
و و
comment
روی ستون را حفظ میکند. با این حال، در لاراول 11، اکنون مهاجرت باید شامل تمام ویژگی هایی باشد که قبلاً روی ستون تعریف شده بودند. در غیر این صورت حذف خواهند شد:
Schema::table('users', function (Blueprint $table) { $table->integer('votes') ->unsigned() ->default(1) ->comment('The vote count') ->nullable() ->change();});
این
change
روش شاخص های ستون را تغییر نمی دهد. بنابراین، میتوانید از اصلاحکنندههای شاخص برای افزودن یا رها کردن صریح یک نمایه هنگام تغییر ستون استفاده کنید:
// Add an index...$table->bigIncrements('id')->primary()->change(); // Drop an index...$table->char('postal_code', 10)->unique(false)->change();
اگر نمیخواهید همه مهاجرتهای «تغییر» موجود در برنامهتان را برای حفظ ویژگیهای موجود ستون بهروزرسانی کنید، میتوانید به سادگی مهاجرتهای خود را له کنید :
php artisan schema:dump
هنگامی که مهاجرت های شما له شد، لاراول پایگاه داده را با استفاده از فایل طرحواره برنامه شما، قبل از اجرای هر گونه مهاجرت معلق، "مهاجرت" می کند.
انواع ممیز شناور
احتمال تاثیر: زیاد
انواع ستون
double
و
float
مهاجرت بازنویسی شدهاند تا در همه پایگاههای داده سازگار باشند.
نوع
double
ستون اکنون یک
DOUBLE
ستون معادل بدون ارقام و مکان های کل (اعداد بعد از نقطه اعشار) ایجاد می کند که نحو استاندارد SQL است. بنابراین، می توانید آرگومان های
$total
و را حذف کنید
$places
:
$table->double('amount');
نوع
float
ستون اکنون یک
FLOAT
ستون معادل بدون ارقام و مکان های کل ایجاد می کند (اعداد بعد از نقطه اعشار)، اما با
$precision
مشخصات اختیاری برای تعیین اندازه ذخیره سازی به عنوان یک ستون تک دقیق 4 بایتی یا یک ستون با دقت دو بایتی 8 بایتی. بنابراین، میتوانید آرگومانها را حذف کنید
$total
و
$places
مقدار اختیاری را
$precision
به مقدار دلخواه خود و با توجه به مستندات پایگاه داده خود مشخص کنید:
$table->float('amount', precision: 53);
متدهای
unsignedDecimal
،
unsignedDouble
و
unsignedFloat
حذف شدهاند، زیرا اصلاحکننده بدون علامت برای این نوع ستونها توسط MySQL منسوخ شده است و هرگز در سایر سیستمهای پایگاه داده استاندارد نشده است. با این حال، اگر میخواهید به استفاده از ویژگی منسوخ بدون علامت برای این نوع ستونها ادامه دهید، میتوانید روش را
unsigned
به تعریف ستون زنجیرهای کنید:
$table->decimal('amount', total: 8, places: 2)->unsigned();$table->double('amount')->unsigned();$table->float('amount', precision: 53)->unsigned();
درایور اختصاصی MariaDB
احتمال تاثیر: بسیار کم
به جای استفاده از درایور MySQL هنگام اتصال به پایگاه داده MariaDB، Laravel 11 یک درایور پایگاه داده اختصاصی برای MariaDB اضافه می کند.
اگر برنامه شما به پایگاه داده MariaDB متصل می شود، می توانید پیکربندی اتصال را به
mariadb
درایور جدید به روز کنید تا در آینده از ویژگی های خاص MariaDB بهره مند شوید:
'driver' => 'mariadb','url' => env('DB_URL'),'host' => env('DB_HOST', '127.0.0.1'),'port' => env('DB_PORT', '3306'),// ...
در حال حاضر، درایور جدید MariaDB مانند درایور MySQL فعلی با یک استثنا رفتار می کند:
uuid
روش سازنده طرحواره، به جای
char(36)
ستون، ستون های UUID بومی ایجاد می کند.
اگر مهاجرتهای فعلی شما از
uuid
روش سازنده طرحواره استفاده میکنند و انتخاب میکنید که
mariadb
از درایور جدید پایگاه داده استفاده کنید، باید فراخوانهای مهاجرت خود را از
uuid
روش بهروزرسانی کنید تا
char
از ایجاد تغییرات یا رفتار غیرمنتظره جلوگیری کنید:
Schema::table('users', function (Blueprint $table) { $table->char('uuid', 36); // ...});
انواع فضایی
احتمال تاثیر: کم
انواع ستون های فضایی مهاجرت های پایگاه داده بازنویسی شده اند تا در همه پایگاه های داده سازگار باشند. بنابراین، می توانید
point
,
lineString
,
polygon
,
geometryCollection
,
multiPoint
,
multiLineString
,
multiPolygon
و
multiPolygonZ
متدها را از مهاجرت خود حذف کنید و به جای آن استفاده
geometry
یا
geography
متدها را انجام دهید:
$table->geometry('shapes');$table->geography('coordinates');
برای محدود کردن صریح نوع یا شناسه سیستم مرجع فضایی برای مقادیر ذخیره شده در ستون در MySQL، MariaDB، و PostgreSQL، می توانید روش
subtype
و
srid
را به روش ارسال کنید:
$table->geometry('dimension', subtype: 'polygon', srid: 0);$table->geography('latitude', subtype: 'point', srid: 4326);
اصلاح کننده های ستونی
isGeometry
و
projection
گرامر PostgreSQL بر این اساس حذف شده اند.
دکترین حذف DBAL
احتمال تاثیر: کم
لیست زیر از کلاس ها و روش های مربوط به Doctrine DBAL حذف شده است. لاراول دیگر به این بسته وابسته نیست و ثبت انواع Doctrines سفارشی دیگر برای ایجاد و تغییر انواع ستونهای مختلف که قبلاً به انواع سفارشی نیاز داشتند، ضروری نیست:
-
Illuminate\Database\Schema\Builder::$alwaysUsesNativeSchemaOperationsIfPossible
دارایی کلاس -
Illuminate\Database\Schema\Builder::useNativeSchemaOperationsIfPossible()
روش -
Illuminate\Database\Connection::usingNativeSchemaOperations()
روش -
Illuminate\Database\Connection::isDoctrineAvailable()
روش -
Illuminate\Database\Connection::getDoctrineConnection()
روش -
Illuminate\Database\Connection::getDoctrineSchemaManager()
روش -
Illuminate\Database\Connection::getDoctrineColumn()
روش -
Illuminate\Database\Connection::registerDoctrineType()
روش -
Illuminate\Database\DatabaseManager::registerDoctrineType()
روش -
Illuminate\Database\PDO
فهرست راهنما -
Illuminate\Database\DBAL\TimestampType
کلاس -
Illuminate\Database\Schema\Grammars\ChangeColumn
کلاس -
Illuminate\Database\Schema\Grammars\RenameColumn
کلاس -
Illuminate\Database\Schema\Grammars\Grammar::getDoctrineTableDiff()
روش
علاوه بر این، دیگر نیازی به ثبت انواع Doctrine سفارشی از طریق فایل پیکربندی
dbal.types
برنامه شما
database
نیست.
اگر قبلاً از Doctrine DBAL برای بازرسی پایگاه داده و جداول مرتبط با آن استفاده می کردید، می توانید به جای آن از روش های طرحواره بومی جدید لاراول (،،،،
و
غیره) استفاده
Schema::getTables()
کنید
.
Schema::getColumns()
Schema::getIndexes()
Schema::getForeignKeys()
روش های طرحواره منسوخ شده
احتمال تاثیر: بسیار کم
متدهای منسوخ، مبتنی بر دکترین
Schema::getAllTables()
،
Schema::getAllViews()
و
Schema::getAllTypes()
به نفع
روشهای بومی
Schema::getTables()
و جدید لاراول حذف شدهاند
Schema::getViews()
.
Schema::getTypes()
هنگام استفاده از PostgreSQL و SQL Server، هیچ یک از روش های طرحواره جدید مرجع سه بخشی را نمی پذیرد (به عنوان مثال
database.schema.table
). بنابراین، به جای آن باید
connection()
برای اعلام پایگاه داده استفاده کنید:
Schema::connection('database')->hasTable('schema.table');
getColumnType()
روش
طرحواره ساز
احتمال تاثیر: بسیار کم
روش
Schema::getColumnType()
اکنون همیشه نوع واقعی ستون داده شده را برمی گرداند، نه نوع معادل Doctrine DBAL.
رابط اتصال پایگاه داده
احتمال تاثیر: بسیار کم
رابط روش
Illuminate\Database\ConnectionInterface
جدیدی دریافت کرده است
scalar
. اگر پیاده سازی خود را از این رابط تعریف می کنید، باید
scalar
روش را به پیاده سازی خود اضافه کنید:
public function scalar($query, $bindings = [], $useReadPdo = true);
تاریخ
کربن 3
احتمال تاثیر: متوسط
لاراول 11 از کربن 2 و کربن 3 پشتیبانی می کند. کربن یک کتابخانه دستکاری تاریخ است که به طور گسترده توسط لاراول و بسته هایی در سراسر اکوسیستم استفاده می شود. اگر Carbon 3 را نصب میکنید، باید گزارش تغییرات کربن را مرور کنید .
ایمیل
قرارداد
Mailer
احتمال تاثیر: بسیار کم
قرارداد روش
Illuminate\Contracts\Mail\Mailer
جدیدی دریافت کرده است
sendNow
. اگر برنامه یا بسته شما به صورت دستی این قرارداد را پیاده سازی می کند، باید
sendNow
روش جدید را به پیاده سازی خود اضافه کنید:
public function sendNow($mailable, array $data = [], $callback = null);
بسته ها
انتشار ارائه دهندگان خدمات به برنامه
احتمال تاثیر: بسیار کم
اگر یک بسته لاراول نوشته اید که به صورت دستی یک ارائه دهنده خدمات را در
app/Providers
فهرست برنامه منتشر می کند و به صورت دستی فایل پیکربندی برنامه را
config/app.php
برای ثبت ارائه دهنده سرویس تغییر می دهد، باید بسته خود را برای استفاده از
ServiceProvider::addProviderToBootstrapFile
روش جدید به روز کنید.
این
addProviderToBootstrapFile
روش بهطور خودکار ارائهدهنده سرویسی را که منتشر کردهاید به فایل برنامه اضافه میکند
bootstrap/providers.php
، زیرا آرایه در
فایل پیکربندی در برنامههای Laravel 11 جدید
providers
وجود ندارد .
config/app.php
use Illuminate\Support\ServiceProvider; ServiceProvider::addProviderToBootstrapFile(Provider::class);
صف ها
واسط
BatchRepository
احتمال تاثیر: بسیار کم
رابط روش
Illuminate\Bus\BatchRepository
جدیدی دریافت کرده است
rollBack
. اگر این رابط را در بسته یا برنامه خود پیاده سازی می کنید، باید این روش را به پیاده سازی خود اضافه کنید:
public function rollBack();
مشاغل همزمان در معاملات پایگاه داده
احتمال تاثیر: بسیار کم
قبلاً، کارهای همزمان (کارهایی که از
sync
درایور صف استفاده میکردند) بلافاصله اجرا میشدند، صرف نظر از اینکه آیا گزینه پیکربندی اتصال صف
روی کار
after_commit
تنظیم شده بود
true
یا روش فراخوانی شده بود.
afterCommit
در لاراول 11، کارهای صف همزمان به پیکربندی «after commit» اتصال یا کار صف احترام میگذارند.
محدود کردن نرخ
محدودیت نرخ در هر ثانیه
احتمال تاثیر: متوسط
لاراول 11 به جای محدود شدن به دانه بندی در دقیقه، از محدودیت سرعت در ثانیه پشتیبانی می کند. تغییرات احتمالی مختلفی وجود دارد که باید از آنها در ارتباط با این تغییر آگاه باشید.
سازنده
GlobalLimit
کلاس اکنون به جای دقیقه، ثانیه ها را می پذیرد. این کلاس مستند نیست و معمولاً توسط برنامه شما استفاده نمی شود:
new GlobalLimit($attempts, 2 * 60);
سازنده
Limit
کلاس اکنون به جای دقیقه، ثانیه ها را می پذیرد. تمام کاربردهای مستند این کلاس به سازنده های ایستا مانند
Limit::perMinute
و محدود می شود
Limit::perSecond
. با این حال، اگر این کلاس را به صورت دستی نمونهسازی میکنید، باید برنامه خود را بهروزرسانی کنید تا ثانیههایی را در اختیار سازنده کلاس قرار دهید:
new Limit($key, $attempts, 2 * 60);
ویژگی کلاس
به تغییر نام داده شده است
و اکنون به جای دقیقه حاوی ثانیه است
Limit
.
decayMinutes
decaySeconds
سازندگان کلاس
Illuminate\Queue\Middleware\ThrottlesExceptions
و
Illuminate\Queue\Middleware\ThrottlesExceptionsWithRedis
اکنون به جای دقیقه، ثانیه ها را می پذیرند:
new ThrottlesExceptions($attempts, 2 * 60);new ThrottlesExceptionsWithRedis($attempts, 2 * 60);
صندوقدار استریپ
به روز رسانی Cashier Stripe
احتمال تاثیر: زیاد
لاراول 11 دیگر از Cashier Stripe 14.x پشتیبانی نمی کند. بنابراین، باید وابستگی Laravel Cashier Stripe برنامه خود را
^15.0
در فایل خود به روز کنید
composer.json
.
Cashier Stripe 15.0 دیگر به طور خودکار مهاجرت ها را از فهرست مهاجرت خود بارگیری نمی کند. در عوض، باید دستور زیر را برای انتشار انتقالهای Cashier Stripe به برنامه خود اجرا کنید:
php artisan vendor:publish --tag=cashier-migrations
لطفاً راهنمای ارتقاء Cashier Stripe را برای تغییرات بیشتر مرور کنید.
جرقه (راه راه)
به روز رسانی Spark Stripe
احتمال تاثیر: زیاد
لاراول 11 دیگر از Laravel Spark Stripe 4.x پشتیبانی نمی کند. بنابراین، شما باید وابستگی Laravel Spark Stripe برنامه خود را
^5.0
در فایل خود به روز کنید
composer.json
.
Spark Stripe 5.0 دیگر به طور خودکار مهاجرت ها را از فهرست مهاجرت خود بارگیری نمی کند. در عوض، باید دستور زیر را برای انتشار انتقالهای Spark Stripe به برنامه خود اجرا کنید:
php artisan vendor:publish --tag=spark-migrations
لطفاً راهنمای کامل ارتقاء Spark Stripe را برای تغییرات اضافی مرور کنید.
گذرنامه
به روز رسانی پاسپورت
احتمال تاثیر: زیاد
Laravel 11 دیگر از Laravel Passport 11.x پشتیبانی نمی کند. بنابراین، شما باید وابستگی Laravel Passport برنامه خود را
^12.0
در فایل خود به روز کنید
composer.json
.
Passport 12.0 دیگر به طور خودکار مهاجرت ها را از فهرست مهاجرت خود بارگیری نمی کند. درعوض، باید دستور زیر را برای انتشار انتقال پاسپورت به برنامه خود اجرا کنید:
php artisan vendor:publish --tag=passport-migrations
علاوه بر این، نوع اعطای رمز عبور به طور پیش فرض غیرفعال است. می توانید آن را با فراخوانی
enablePasswordGrant
متد در
boot
متد برنامه خود فعال کنید
AppServiceProvider
:
public function boot(): void{ Passport::enablePasswordGrant();}
پناهگاه
به روز رسانی Sanctum
احتمال تاثیر: زیاد
لاراول 11 دیگر از Laravel Sanctum 3.x پشتیبانی نمی کند. بنابراین، شما باید وابستگی Laravel Sanctum برنامه خود را
^4.0
در فایل خود به روز کنید
composer.json
.
Sanctum 4.0 دیگر به طور خودکار مهاجرت ها را از دایرکتوری مهاجرت خود بارگیری نمی کند. در عوض، باید دستور زیر را برای انتشار مهاجرت های Sanctum به برنامه خود اجرا کنید:
php artisan vendor:publish --tag=sanctum-migrations
سپس، در فایل پیکربندی برنامه خود
config/sanctum.php
، باید ارجاعات به
authenticate_session
,
encrypt_cookies
و
validate_csrf_token
میان افزار را به موارد زیر به روز کنید:
'middleware' => [ 'authenticate_session' => Laravel\Sanctum\Http\Middleware\AuthenticateSession::class, 'encrypt_cookies' => Illuminate\Cookie\Middleware\EncryptCookies::class, 'validate_csrf_token' => Illuminate\Foundation\Http\Middleware\ValidateCsrfToken::class,],
تلسکوپ
به روز رسانی تلسکوپ
احتمال تاثیر: زیاد
لاراول 11 دیگر از تلسکوپ لاراول 4.x پشتیبانی نمی کند. بنابراین، شما باید وابستگی تلسکوپ لاراول برنامه خود را
^5.0
در فایل خود به روز کنید
composer.json
.
تلسکوپ 5.0 دیگر به طور خودکار مهاجرت ها را از فهرست مهاجرت خود بارگیری نمی کند. در عوض، باید دستور زیر را برای انتشار انتقالهای تلسکوپ به برنامه خود اجرا کنید:
php artisan vendor:publish --tag=telescope-migrations
بسته Spatie Once
احتمال تاثیر: متوسط
once
اکنون لاراول 11 عملکرد
خود را ارائه می دهد
تا اطمینان حاصل کند که یک بسته معین فقط یک بار اجرا می شود. بنابراین، اگر برنامه شما وابستگی به
spatie/once
بسته دارد، باید آن را از فایل برنامه خود حذف کنید
composer.json
تا درگیری نداشته باشید.
متفرقه
ما همچنین شما را تشویق می کنیم که تغییرات موجود در
laravel/laravel
مخزن GitHub
را مشاهده کنید . در حالی که بسیاری از این تغییرات مورد نیاز نیستند، ممکن است بخواهید این فایل ها را با برنامه خود هماهنگ نگه دارید. برخی از این تغییرات در این راهنمای ارتقا پوشش داده خواهد شد، اما برخی دیگر، مانند تغییرات در فایلهای پیکربندی یا نظرات، چنین نیستند. می توانید به راحتی تغییرات را با
ابزار مقایسه GitHub
مشاهده کنید و انتخاب کنید کدام به روز رسانی برای شما مهم است.