Tôi đã cài đặt Symfony 3.4.9 không dùng tiền. Vì vậy, tôi đã nâng cấp FW lên 4.1.1. Bây giờ tôi đã nhận được 9 cảnh báo không dùng nữa từ các thư viện của nhà cung cấp:
- Tạo học thuyết \ ORM \ Mapping \ UnderscoreNamingStrargety mà không làm cho số nhận biết bị phản đối và sẽ bị xóa trong Doctrine ORM 3.0.
- Lớp "Symfony \ Component \ HttpKernel \ EventListener \ ExceptionListener" không được dùng nữa kể từ Symfony 4.4, thay vào đó hãy sử dụng "ErrorListener".
- Lớp Doctrine \ Common \ Persistence \ Mapping \ AbstractClassMetadataFactory không được dùng nữa vì học thuyết / kiên trì 1.3 và sẽ bị xóa trong 2.0. Thay vào đó, hãy sử dụng \ Doctrine \ Persistence \ Mapping \ AbstractClassMetadataFactory.
- Lớp Doctrine \ Common \ Persistence \ Mapping \ RuntimeReflectionService không được dùng nữa vì học thuyết / kiên trì 1.3 và sẽ bị xóa trong 2.0. Thay vào đó, hãy sử dụng \ Doctrine \ Persistence \ Mapping \ RuntimeReflectionService.
- Lớp Doctrine \ Common \ Persistence \ ObjectManager không được dùng nữa vì học thuyết / kiên trì 1.3 và sẽ bị xóa trong 2.0. Thay vào đó, hãy sử dụng \ Doctrine \ Persistence \ ObjectManager.
- Lớp Doctrine \ Common \ Persistence \ ObjectRep repository bị phản đối vì học thuyết / kiên trì 1.3 và sẽ bị xóa trong 2.0. Thay vào đó, hãy sử dụng \ Doctrine \ Persistence \ ObjectRep repository.
- Lớp Doctrine \ Common \ PropertyChangedListener không được dùng nữa vì doctrine / kiên trì 1.3 và sẽ bị xóa trong 2.0. Thay vào đó, hãy sử dụng \ Doctrine \ Persistence \ PropertyChangedListener.
- Khóa cấu hình "twig.exception_controll" đã không được dùng trong Symfony 4.4, đặt nó thành "null" và sử dụng khóa cấu hình "framework.error_controll" để thay thế. (x2)
Đây có phải là "bình thường" hoặc có bất kỳ vấn đề nào trong tệp composer.json của tôi không? Tôi đã kiểm tra lại và không thể thấy bất kỳ sự phụ thuộc nào có bất kỳ cài đặt "cố định" nào.
Tôi thậm chí đã xóa thư mục nhà cung cấp đầy đủ và tải xuống lại vì tôi nghĩ có thể còn "rác", với kết quả tương tự.
Tệp composer.json của tôi:
{
"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.*"
}
}
}
BIÊN TẬP
Tôi đã kiểm tra các gói đã cài đặt với composer show
và thấy rằng ít nhất 2 trong số các gói đã cài đặt có liên quan với danh sách khấu hao ở trên:
(...)
doctrine/orm v2.7.0 Object-Relational-Mapper for PHP
doctrine/persistence 1.3.3 The Doctrine Persistence project is a set of shared...
(...)
Vì vậy, tôi đã kiểm tra các phiên bản có sẵn của các gói này composer info doctrine/persistence --all
và tôi thấy rằng nó đã cài đặt phiên bản không dành cho nhà phát triển mới nhất:
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
(...)
Tương tự cho doctrine-orm
.
Trang web GitHub cho học thuyết / kiên trì dường như cũng chứng thực điều này: https://github.com/doctrine/persistence/release
Vì vậy, điều này khiến tôi nghĩ rằng đây thực sự là hành vi bình thường và trong tương lai, khi các gói này được cập nhật, các thông báo không dùng nữa sẽ biến mất.
Lưu ý về giải pháp
Như bất cứ ai đã đọc câu trả lời được chấp nhận sẽ nhận thấy, vẫn còn 5 sự phản đối chưa thể giải quyết được. Tôi sẽ bao gồm một câu trả lời ASA có một sửa chữa cho điều này. Nếu bất cứ ai nhận thấy điều này trước tôi, xin vui lòng rơi vào câu trả lời cho câu hỏi này. Cảm ơn.
trace
liên kết để xem stacktrace và pin-point nơi chúng đến. :)
ObjectManager
) và nó đã giúp tôi thấy, chuyện gì đang xảy ra.