ฉันมีการติดตั้ง 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
และฉันเห็นว่ามีการติดตั้งเวอร์ชันที่ไม่ใช่ 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 มีการแก้ไขสำหรับเรื่องนี้ หากใครสังเกตเห็นสิ่งนี้ก่อนฉันโปรดอย่าลังเลที่จะเพิ่มคำตอบสำหรับคำถามนี้ ขอบคุณ
trace
ลิงก์เพื่อดูสแต็คเทรซและพิน - พ้อยท์ที่มาจาก :)
ObjectManager
) และมันช่วยให้ฉันเห็นสิ่งที่เกิดขึ้น