คำเตือนการเลิกใช้งานหลังจากอัพเกรด Symfony 4.3.9 เป็น 4.4.1 / 5.0


12

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


หากพวกเขามาจากห้องสมุดผู้จำหน่ายและไม่ใช่รหัสของคุณนั่นเป็นเรื่องปกติ คุณควรอัปเดตผู้ขายที่สงสัยและควรแก้ไข โปรดทราบว่าห้องสมุดบางแห่งอาจไม่ทันสมัยพร้อมกับการคัดค้าน symfony & doctrine ล่าสุดดังนั้นการอัปเดตอาจไม่สามารถแก้ไขได้ทันที
tftd

ปัญหาคือ ... ผู้ขายรายใด มีหลายแพ็คเกจสำหรับหลักคำสอนและสำหรับกิ่ง AFAIU เหล่านี้เป็นสิ่งที่เกี่ยวข้อง ฉันควรเลือกแบบใดใน json ฉันเพิ่งตรวจสอบ ... สำหรับแพคเกจหลักคำสอนมี 33.
เนลสัน Teixeira

วิธีที่ง่ายที่สุดที่ฉันพบว่าจัดการคือเริ่มโครงการในโหมด dev และทำบางหน้าในเบราว์เซอร์ของคุณ แถบเครื่องมือดีบั๊กจะแสดงคำประกาศเลิกใช้และคุณสามารถใช้traceลิงก์เพื่อดูสแต็คเทรซและพิน - พ้อยท์ที่มาจาก :)
tftd

2
สิ่งต่าง ๆ เปลี่ยนไประหว่าง 4.3 และ 4.4 โปรดจำไว้ว่าคุณต้องล้างค่าการคัดค้านก่อนที่จะย้ายไปยัง 5.x เท่านั้น ดังนั้นเพียงแค่ไถและแก้ไขเหมือน ๆ กัน แต่อันแรกคือปัญหาหลักคำสอนและสามารถแก้ไขได้ด้วย: stackoverflow.com/questions/58975182/ …
Cerad

1
โปรดอย่าลบคำถาม แม้ว่าจะไม่มีอะไรทำยกเว้นรอการอัพเดทผู้ขาย ฉันมาถึงที่นี่ผ่านการปฏิเสธหลักคำสอน (ประมาณObjectManager) และมันช่วยให้ฉันเห็นสิ่งที่เกิดขึ้น
k00ni

คำตอบ:


3

ตกลงฉันสามารถแก้ไขสิ่งต่อไปนี้ได้ อย่าลังเลที่จะแก้ไขสิ่งนี้หากใครรู้วิธีแก้ไขรายการอื่น ๆ

1. ) จาก Cerad ในความคิดเห็น: การเลิกใช้: Doctrine \ ORM \ Mapping \ UnderscoreNamingStrategy โดยไม่แจ้งให้ทราบถึงจำนวนที่เลิกใช้แล้ว

9. ) Twig twig.exception_controller ตัวเลือกการกำหนดค่า: https://github.com/symfony/symfony/blob/master/UPGRADE-4.4.md#twigbundle

2. ) ExceptionListener ถูกล้างเมื่อฉันแก้ไขสองรายการข้างต้นทำให้ฉันลดลงเหลือ 5 ครั้งเท่านั้น


ในที่สุด 5 ที่เหลือดูเหมือนจะเป็นที่รู้จักและจะได้รับการแก้ไขต่อไปนี้: คำเตือนคลาสเลิกในคอนโซล Symfony 5.0.1 บน Windows


1
excelent ลดจำนวนการคัดค้านของฉันไปเป็น 5 ด้วย
Nelson Teixeira

3

หากคุณต้องการที่จะกำจัดของDoctrine\Common\Persistence\*ค่าเสื่อมราคาจนกว่าทุกอย่างได้รับการแก้ไขคุณสามารถเพิ่ม"conflict": { "doctrine/persistence": "1.3.*" }ที่คุณcomposer.jsonและพักอยู่กับรุ่น 1.2. * ของหลักคำสอน / การติดตา


2
ขอบคุณสำหรับข้อมูล แต่ฉันต้องการมีข้อความหรือฉันอาจจะลืมฉันต้องแก้ไขสิ่งนี้ :)
Nelson Teixeira
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.