首頁  >  問答  >  主體

升級Laravel 9到10:更新vendor資料夾以外的文件

我想將現有的 Laravel 9 專案升級到版本 10。目標是,不僅供應商文件可以透過 Composer 更新。此外,我還想在供應商資料夾之外反映我的專案程式碼中的變更。

我按照 Laravel 文件的升級指南升級了我的專案。

這是已更改的檔案。

例如我的 app/Console/Kernel.php 應該要改為

<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    /**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
        // $schedule->command('inspire')->hourly();
    }

    /**
     * Register the commands for the application.
     *
     * @return void
     */
    protected function commands()
    {
        $this->load(__DIR__.'/Commands');

        require base_path('routes/console.php');
    }
}

<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    /**
     * Define the application's command schedule.
     */
    protected function schedule(Schedule $schedule): void
    {
        // $schedule->command('inspire')->hourly();
    }

    /**
     * Register the commands for the application.
     */
    protected function commands(): void
    {
        $this->load(__DIR__.'/Commands');

        require base_path('routes/console.php');
    }
}

P粉546138344P粉546138344229 天前372

全部回覆(2)我來回復

  • P粉792026467

    P粉7920264672024-03-28 09:09:17

    自動更新此類「範例」檔案可能根本不可能自動進行,因為使用者可以在其專案中編輯它們,這就是它們不在供應商中的原因。

    更新PHP 相關語法(例如提到的類型提示)的最佳選擇可能是具有適當規則的PHP-CS-Fixer 之類的東西,但您的函數範例無法使用它,因為這需要舊的定義方式透過PHPDoc 傳回型別。

    如果您修改了這些文件,則可以從 Laravel 儲存庫手動複製這些變更並將其調整為您的程式碼。

    回覆
    0
  • P粉002546490

    P粉0025464902024-03-28 00:41:58

    Laravel 新應用程式框架的變更可以透過其比較工具在Github 上查看:https://github.com/laravel/laravel/compare/9.x...10.x

    (您可以使用 GUI Git 用戶端或 Git 在本機執行此操作命令列,以及。)

    這些變更可以轉換為 .patch 文件,然後您可以將其應用於您的應用程式。 Github 再次提供了一個相當簡單的方法來做到這一點;https://github.com/laravel/laravel/比較/9.x...10.x.補丁

    將 .patch 檔案保存在本機後,您可以使用 git apply <path-to-patch-file> 將其套用到您的儲存庫中。在大多數情況下,這應該完全適用。

    需要明確的是,這並不能取代遵循https://laravel.com/docs/10.x/upgrade,因為它只會對預設應用程式框架進行必要的調整;它不會以任何方式更新您在Laravel 中編寫的程式碼。

    回覆
    0
  • 取消回覆