[php] Symfony 4.3.9를 4.4.1 / 5.0으로 업그레이드 한 후 사용 중단 경고

더 이상 사용되지 않는 Symfony 3.4.9를 설치했습니다. 그래서 FW를 4.1.1로 업그레이드했습니다. 이제 벤더 라이브러리에서 9 개의 지원 중단 경고가 표시됩니다.

  • 번호를 인식하지 않고 Doctrine \ ORM \ Mapping \ UnderscoreNamingStrategy를 만드는 것은 더 이상 사용되지 않으며 Doctrine ORM 3.0에서 제거됩니다.
  • Symfony 4.4부터는 “Symfony \ Component \ HttpKernel \ EventListener \ ExceptionListener”클래스가 더 이상 사용되지 않습니다. 대신 “ErrorListener”를 사용하십시오.
  • Doctrine \ Common \ Persistence \ Mapping \ AbstractClassMetadataFactory 클래스는 교리 / 지속성 1.3부터 ​​더 이상 사용되지 않으며 2.0에서 제거됩니다. 대신 \ Doctrine \ Persistence \ Mapping \ AbstractClassMetadataFactory를 사용하십시오.
  • Doctrine \ Common \ Persistence \ Mapping \ RuntimeReflectionService 클래스는 교리 / 지속성 1.3부터 ​​더 이상 사용되지 않으며 2.0에서 제거됩니다. 대신 \ Doctrine \ Persistence \ Mapping \ RuntimeReflectionService를 사용하십시오.
  • Doctrine \ Common \ Persistence \ ObjectManager 클래스는 교리 / 지속성 1.3부터 ​​더 이상 사용되지 않으며 2.0에서 제거됩니다. 대신 \ Doctrine \ Persistence \ ObjectManager를 사용하십시오.
  • Doctrine \ Common \ Persistence \ ObjectRepository 클래스는 교리 / 지속성 1.3부터 ​​더 이상 사용되지 않으며 2.0에서 제거됩니다. 대신 \ Doctrine \ Persistence \ ObjectRepository를 사용하십시오.
  • Doctrine \ Common \ PropertyChangedListener 클래스는 교리 / 지속성 1.3부터 ​​더 이상 사용되지 않으며 2.0에서 제거됩니다. 대신 \ Doctrine \ Persistence \ PropertyChangedListener를 사용하십시오.
  • Symfony 4.4에서는 “twig.exception_controller”구성 키가 더 이상 사용되지 않으며 “null”로 설정하고 대신 “framework.error_controller”구성 키를 사용하십시오. (x2)

이 “일반”또는 내 composer.json 파일에 문제가 있습니까? 다시 한 번 확인했는데 “고정”설정이있는 종속성을 볼 수 없습니다.

심지어 전체 공급 업체 폴더를 삭제하고 동일한 결과로 “쓰레기”가 남아 있다고 생각하여 다시 다운로드했습니다.

내 composer.json 파일 :

{
    "type" : "project",
    "license" : "proprietary",
    "require" : {
        "php" : "^7.1.3",
        "ext-ctype" : "*",
        "ext-iconv" : "*",
        "sensio/framework-extra-bundle" : "^5.2",
        "symfony/apache-pack" : "^1.0",
        "symfony/asset" : "4.4.*",
        "symfony/console" : "4.4.*",
        "symfony/dotenv" : "4.4.*",
        "symfony/expression-language" : "4.4.*",
        "symfony/flex" : "^1.1",
        "symfony/form" : "4.4.*",
        "symfony/framework-bundle" : "4.4.*",
        "symfony/monolog-bundle" : "^3.1",
        "symfony/orm-pack" : "*",
        "symfony/process" : "4.4.*",
        "symfony/security-bundle" : "4.4.*",
        "symfony/serializer-pack" : "*",
        "symfony/swiftmailer-bundle" : "^3.1",
        "symfony/translation" : "4.4.*",
        "symfony/twig-bundle" : "4.4.*",
        "symfony/validator" : "4.4.*",
        "symfony/web-link" : "4.4.*",
        "symfony/webpack-encore-bundle" : "^1.1",
        "symfony/yaml" : "4.4.*"
    },
    "require-dev" : {
        "symfony/debug-pack" : "*",
        "symfony/maker-bundle" : "^1.0",
        "symfony/profiler-pack" : "^1.0",
        "symfony/test-pack" : "*",
        "symfony/web-server-bundle" : "4.4.*"
    },
    "config" : {
        "preferred-install" : {
            "*" : "dist"
        },
        "sort-packages" : true,
        "secure-http" : false
    },
    "autoload" : {
        "psr-4" : {
            "App\\" : "src/"
        }
    },
    "autoload-dev" : {
        "psr-4" : {
            "App\\Tests\\" : "tests/"
        },
        "classmap" : [
            "vendor/phpasn1"
        ]
    },
    "replace" : {
        "paragonie/random_compat" : "2.*",
        "symfony/polyfill-ctype" : "*",
        "symfony/polyfill-iconv" : "*",
        "symfony/polyfill-php71" : "*",
        "symfony/polyfill-php70" : "*",
        "symfony/polyfill-php56" : "*"
    },
    "conflict" : {
        "symfony/symfony" : "*"
    },
    "extra" : {
        "symfony" : {
            "allow-contrib" : false,
            "require" : "4.4.*"
        }
    }
}

편집하다

설치된 패키지를 확인한 결과 설치된 패키지 composer show중 2 개 이상이 위의 폐기 목록과 관련이 있음을 확인했습니다.

(...)
doctrine/orm                        v2.7.0  Object-Relational-Mapper for PHP
doctrine/persistence                1.3.3   The Doctrine Persistence project is a set of shared...
(...)

따라서이 패키지의 사용 가능한 버전을 확인했으며 composer info doctrine/persistence --all최신 비 dev 버전이 설치되어 있음을 알았습니다.

name     : doctrine/persistence
descrip. : The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.
keywords : mapper, object, odm, orm, persistence
versions : dev-master, 2.0.x-dev, 1.3.x-dev, * 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.x-dev, 1.2.0, 1.1.x-dev, 1.1.1, v1.1.0, 1.0.x-dev, v1.0.1, v1.0.0, dev-1.3.x-merge-up-into-master_5df35c38f354a9.94042071, dev-1.3.x-merge-up-into-master_5df33dc289ea03.65167777, dev-1.3.x-merge-up-into-master_5df29d964b0aa5.96685696, dev-github-funding, dev-master-old
(...)

동일합니다 doctrine-orm.

교리 / 지속성에 대한 GitHub 사이트는 다음을 확증하는 것 같습니다 : https://github.com/doctrine/persistence/releases

따라서 이것은 실제로 정상적인 동작이라고 생각하고 나중에이 패키지가 업데이트되면 더 이상 사용되지 않는 메시지가 사라질 것이라고 생각합니다.

솔루션에 대한 참고 사항

허용 된 답변을 읽은 사람은 누구나 알 수 있듯이 아직 해결되지 않는 5 개의 지원 중단이 여전히 있습니다. 이에 대한 해결책이 있습니다 답변 ASA를 포함시킵니다. 누군가 내 앞에 이것을 알면이 질문에 대한 답변을 자유롭게 추가하십시오. 감사.



답변

좋아, 나는 다음을 고칠 수 있었다. 다른 사람을 고치는 방법을 아는 사람이 있으면 언제든지 편집하십시오.

1.) 의견의 Cerad에서 : 더 이상 사용되지 않음 : Doctrine \ ORM \ Mapping \ UnderscoreNamingStrategy

9.) 나뭇 가지 twig.exception_controller 구성 옵션 : https://github.com/symfony/symfony/blob/master/UPGRADE-4.4.md#twigbundle

2) 위의 두 항목을 수정했을 때 ExceptionListener가 지워져서 5 개의 지원 중단 만 발생했습니다.


마지막으로 남은 5 개는 알려진 것으로 보이며 다음과 같이 수정 될 것입니다
. Windows의 Symfony 5.0.1 콘솔에서 더 이상 사용되지 않는 클래스 경고


답변

당신이 제거하려는 경우 Doctrine\Common\Persistence\*모든 것이 해결 될 때까지 감가 상각, 당신은 추가 할 수 있습니다 "conflict": { "doctrine/persistence": "1.3.*" }당신에 composer.json버전 1.2 및 숙박. *의 교리 / 지속성 .


답변