찾다

 >  Q&A  >  본문

Laravel 9를 10으로 업그레이드: 공급업체 폴더 외부의 파일 업데이트

기존 Laravel 9 프로젝트를 버전 10으로 업그레이드하고 싶습니다. 목표는 Composer를 통해 공급업체 파일만 업데이트할 수 있는 것이 아닙니다. 또한 내 프로젝트 코드의 변경 사항이 vendor 폴더 외부에 반영되기를 원합니다.

Laravel 문서의 업그레이드 가이드에 따라 프로젝트를 업그레이드했습니다.

변경된 파일입니다.

예를 들어 내 app/Console/Kernel.php

로 변경해야 합니다. 으아악

to

<?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');
    }
}

P粉546138344P粉546138344275일 전427

모든 응답(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/compare/9.x...10.x.patch).

    .patch 파일을 로컬에 저장한 후 git apply <path-to-patch-file>를 사용하여 저장소에 적용할 수 있습니다. 대부분의 경우 이는 완벽하게 작동합니다.

    분명히 말하면 이는 https://laravel.com/docs/10.x/upgrade을 대체하는 것이 아닙니다. 기본 애플리케이션 프레임워크에 필요한 조정만 수행하기 때문입니다. 방법 Laravel에서 작성한 코드를 업데이트하세요.

    회신하다
    0
  • 취소회신하다