Saya memiliki instalasi Symfony 3.4.9 yang bebas dari depresiasi. Jadi saya memutakhirkan FW ke 4.1.1. Sekarang saya mendapat 9 peringatan penghentian semua datang dari perpustakaan vendor:
- Membuat Doctrine \ ORM \ Mapping \ UnderscoreNamingStrategy tanpa membuatnya sadar nomor sudah usang dan akan dihapus di Doctrine ORM 3.0.
- Kelas "Symfony \ Component \ HttpKernel \ EventListener \ ExceptionListener" sudah tidak digunakan lagi sejak Symfony 4.4, sebagai gantinya, gunakan "ErrorListener".
- Kelas Doctrine \ Common \ Persistence \ Mapping \ AbstractClassMetadataFactory sudah tidak digunakan lagi sejak doctrine / persistence 1.3 dan akan dihapus pada 2.0. Gunakan \ Doctrine \ Persistence \ Mapping \ AbstractClassMetadataFactory sebagai gantinya.
- Kelas Doctrine \ Common \ Persistence \ Mapping \ RuntimeReflectionService sudah tidak digunakan lagi sejak doctrine / persistence 1.3 dan akan dihapus pada 2.0. Gunakan \ Doctrine \ Persistence \ Mapping \ RuntimeReflectionService sebagai gantinya.
- Kelas Doctrine \ Common \ Persistence \ ObjectManager sudah tidak digunakan lagi sejak doctrine / persistence 1.3 dan akan dihapus pada 2.0. Gunakan \ Doctrine \ Persistence \ ObjectManager sebagai gantinya.
- Kelas Doctrine \ Common \ Persistence \ ObjectRepository sudah tidak digunakan lagi sejak doctrine / persistence 1.3 dan akan dihapus pada 2.0. Gunakan \ Doctrine \ Persistence \ ObjectRepository sebagai gantinya.
- Kelas Doctrine \ Common \ PropertyChangedListener sudah tidak digunakan lagi sejak doctrine / persistence 1.3 dan akan dihapus pada 2.0. Gunakan \ Doctrine \ Persistence \ PropertyChangedListener sebagai gantinya.
- Kunci konfigurasi "twig.exception_controller" sudah tidak digunakan lagi di Symfony 4.4, setel ke "null" dan gunakan kunci konfigurasi "framework.error_controller". (x2)
Apakah ini "normal" atau ada masalah dalam file composer.json saya? Saya mengecek dan tidak dapat melihat ketergantungan yang memiliki pengaturan "tetap".
Saya bahkan menghapus folder vendor lengkap dan mengunduh lagi karena saya pikir mungkin ada "sampah" yang tersisa, dengan hasil yang sama.
File composer.json saya:
{
"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.*"
}
}
}
EDIT
Saya memeriksa paket yang diinstal dengan composer show
dan melihat bahwa setidaknya 2 paket yang diinstal relevan dengan daftar penghentian di atas:
(...)
doctrine/orm v2.7.0 Object-Relational-Mapper for PHP
doctrine/persistence 1.3.3 The Doctrine Persistence project is a set of shared...
(...)
Jadi saya memeriksa versi yang tersedia dari paket-paket ini composer info doctrine/persistence --all
dan saya melihat bahwa ia telah menginstal versi non-dev terbaru:
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
(...)
Sama untuk doctrine-orm
.
Situs GitHub untuk doktrin / kegigihan juga tampaknya menguatkan ini: https://github.com/doctrine/persistence/releases
Jadi ini membuat saya berpikir bahwa ini adalah perilaku yang benar-benar normal dan bahwa di masa depan, ketika paket-paket ini diperbarui, pesan penghentian akan hilang.
Catatan tentang solusi
Seperti orang yang telah membaca jawaban yang diterima akan memperhatikan, masih ada 5 penghinaan yang belum dapat diselesaikan. Saya akan menyertakan jawaban ASA ada perbaikan untuk ini. Jika ada yang memperhatikan ini sebelum saya, silakan tambahkan jawaban untuk pertanyaan ini. Terima kasih.
sumber
trace
tautan untuk melihat stacktrace dan pin-point dari mana asalnya. :)ObjectManager
) dan itu membantu saya untuk melihat, apa yang terjadi.Jawaban:
Oke, saya sudah bisa memperbaiki yang berikut ini. Jangan ragu untuk mengedit ini jika ada yang tahu cara memperbaiki yang lain.
1.) Dari Cerad di Komentar: Deprecation: Doctrine \ ORM \ Mapping \ UnderscoreNamingStrategy tanpa membuatnya sadar nomor sudah usang
9.) Twig twig.exception_controller opsi konfigurasi: https://github.com/symfony/symfony/blob/master/UPGRADE-4.4.md#twigbundle
2.) ExceptionListener membersihkan ketika saya memperbaiki dua item di atas, membawa saya ke hanya 5 penghinaan
Akhirnya 5 yang tersisa, tampaknya diketahui dan akan diperbaiki per ini: Peringatan kelas yang sudah usang di konsol Symfony 5.0.1 di Windows
sumber
Jika Anda ingin menghilangkan
Doctrine\Common\Persistence\*
penyusutan sampai semuanya diperbaiki, Anda dapat menambahkannya"conflict": { "doctrine/persistence": "1.3.*" }
ke Andacomposer.json
dan tetap menggunakan versi 1.2. * Dari doktrin / kegigihan .sumber