廃止予定のないSymfony 3.4.9をインストールしました。そこで、FWを4.1.1にアップグレードしました。今、私はすべてベンダーライブラリから9つの非推奨警告を受け取りました:
- 番号を認識させずにDoctrine \ ORM \ Mapping \ UnderscoreNamingStrategyを作成することは非推奨であり、Doctrine ORM 3.0で削除されます。
- "Symfony \ Component \ HttpKernel \ EventListener \ ExceptionListener"クラスはSymfony 4.4以降廃止予定です。代わりに "ErrorListener"を使用してください。
- Doctrine \ Common \ Persistence \ Mapping \ AbstractClassMetadataFactoryクラスはdoctrine / persistence 1.3以降廃止され、2.0で削除されます。代わりに\ Doctrine \ Persistence \ Mapping \ AbstractClassMetadataFactoryを使用してください。
- Doctrine \ Common \ Persistence \ Mapping \ RuntimeReflectionServiceクラスは、doctrine / persistence 1.3以降廃止され、2.0で削除されます。代わりに\ Doctrine \ Persistence \ Mapping \ RuntimeReflectionServiceを使用してください。
- Doctrine \ Common \ Persistence \ ObjectManagerクラスはdoctrine / persistence 1.3以降廃止され、2.0で削除されます。代わりに\ Doctrine \ Persistence \ ObjectManagerを使用してください。
- Doctrine \ Common \ Persistence \ ObjectRepositoryクラスはdoctrine / persistence 1.3以降廃止され、2.0で削除されます。代わりに\ Doctrine \ Persistence \ ObjectRepositoryを使用してください。
- Doctrine \ Common \ PropertyChangedListenerクラスは、doctrine / persistence 1.3以降廃止され、2.0で削除されます。代わりに\ Doctrine \ Persistence \ PropertyChangedListenerを使用してください。
- "twig.exception_controller"設定キーはSymfony 4.4で非推奨になりました。 "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
、最新の非開発バージョンがインストールされていることがわかりました。
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
。
doctrine / persistenceのGitHubサイトもこれを裏付けているようです:https : //github.com/doctrine/persistence/releases
そのため、これは本当に正常な動作であり、将来これらのパッケージが更新されると、非推奨のメッセージが表示されなくなると思います。
ソリューションに関する注意
受け入れられた回答を読んだ人なら誰でも気づくでしょうが、まだ解決できない5つの非推奨があります。これに対する修正があるASAの回答を含めます。私の前に誰かがこれに気づいたら、この質問への回答を追加してください。ありがとう。
trace
リンクを使用してスタックトレースとそれらがどこから発生したかを確認できます。:)
ObjectManager
)を介してここに到着しました。