升级Laravel 9到10:更新vendor文件夹之外的文件
P粉546138344
P粉546138344 2024-03-27 11:05:01
0
2
401

我想将现有的 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 中编写的代码。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板