У мене була установлена програма Symfony 3.4.9, яка не потребує депресій. Тому я модернізував FW до 4.1.1. Тепер я отримав 9 попереджень про депресію, які надходять із бібліотек постачальників:
- Створення доктрини \ ORM \ Картографування \ UnderscoreNamingStrategy без повідомлення про її кількість застаріле і буде видалено в Doctrine ORM 3.0.
- Клас "Symfony \ Component \ HttpKernel \ EventListener \ ExceptionListener" застарілий з Symfony 4.4, замість цього використовуйте "ErrorListener".
- Доктрина \ Загальна \ Постійність \ Картографування \ AbstractClassMetadataFactory клас застаріла, оскільки доктрина / стійкість 1.3 і буде видалена в 2.0. Використовуйте замість \ Вчення \ Наполегливість \ Картографування \ AbstractClassMetadataFactory.
- Доктрина \ Загальна \ Постійність \ Картографування \ RuntimeReflectionService клас застаріла, оскільки доктрина / стійкість 1.3 і буде видалена через 2.0. Використовуйте замість \ Вчення \ Наполегливість \ Картографування \ RuntimeReflectionService.
- Клас Doctrine \ Common \ Persistent \ ObjectManager застарілий, оскільки doctrine / persistent 1.3 і буде видалений у 2.0. Використовуйте замість \ Doctrine \ Persistent \ ObjectManager.
- Клас Doctrine \ Common \ Persistence \ ObjectRepository застарілий, оскільки doctrine / persistent 1.3 і буде видалений у 2.0. Використовуйте замість \ Доктрина \ Постійність \ ObjectRepository.
- Клас Doctrine \ Common \ PropertyChangedListener застарілий, оскільки doctrine / persistent 1.3 і буде видалений через 2.0. Використовуйте замість \ Доктрину \ Постійність \ 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.*"
}
}
}
EDIT
Я перевірив встановлені пакети за допомогою 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
.
Сайт GitHub для доктрини / наполегливості також, схоже, підтверджує це: https://github.com/doctrine/persistence/releases
Отож, це змушує мене думати, що це дійсно нормальна поведінка, і що в майбутньому, коли ці пакунки оновлюються, повідомлення про виснаження зникнуть.
Примітка про рішення
Як зауважить кожен, хто прочитав прийняту відповідь, все ще є 5 припинення, які поки що неможливо вирішити. Я включу відповідь ASA, для цього є виправлення. Якщо хтось помітить це перед мною, будь ласка, не вагайтеся, щоб додати відповідь на це питання. Дякую.
trace
посиланнями, щоб побачити стеження та чітку точку, звідки вони надходять. :)
ObjectManager
), і це допомогло мені побачити, що відбувається.