升級Laravel 9到10:更新vendor資料夾以外的文件
P粉546138344
P粉546138344 2024-03-27 11:05:01
0
2
377

我想將現有的 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粉546138344
P粉546138344

全部回覆(2)
P粉792026467

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

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

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

P粉002546490

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 中編寫的程式碼。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!