Устаревший пользователь: Doctrine \ Common \ ClassLoader устарел

Я использую Symfony 3.4.12 и не могу найти никакой информации о том, как решить эту проблему:

User Deprecated: Doctrine\Common\ClassLoader is deprecated.

Любое предложение?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
24
0
11 876
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Пакет Doctrine Common будет разделен на небольшие пакеты, а компонент ClassLoader будет удален, поэтому уведомление об устаревании. См. https://github.com/doctrine/common/issues/826 и https://www.doctrine-project.org/2018/07/12/common-2-9-and-dbal-2-8-and-orm-2-6-2.html.

Если вы используете пакет doctrine/common напрямую, то решением было бы удалить эту зависимость и вместо этого добавить отдельные пакеты. Если вы используете Symfony, уже есть PR, чтобы изменить это: https://github.com/symfony/symfony/pull/27609. Поэтому в любой новой версии устаревание должно исчезнуть.

Хорошо я понял. Но что теперь делать, чтобы убрать эту деприкацию?

Mutatos 15.07.2018 11:35

На данный момент я думаю, что вы ничего не можете сделать в одиночку. Однако после того, как symfony выпустит новую версию, которая включает PR в моем ответе, уведомление об устаревании должно автоматически исчезнуть.

João Alves 15.07.2018 15:51

Большой! Огромное спасибо!

Mutatos 16.07.2018 07:51

Это очень мучитель.

A.Seddighi 14.08.2018 22:21

Если вы пометить тесты как устаревшие, тогда уведомление об устаревании будет проигнорировано, поэтому ваш CI не выйдет из строя. Самый простой способ - добавить аннотацию @group legacy.

Yep_It's_Me 14.09.2018 02:33

2018, получи это предупреждение

es cologne 21.09.2018 09:29

Это сообщение засыпает мои журналы спамом, как я могу временно подавить его?

olidem 19.10.2018 15:24

используя symfony 4.1.7, но все еще получаю эту ошибку. :(

Tariq Khan 19.11.2018 13:17

symfony 4.2.2 и все еще есть :(

Calamity Jane 10.01.2019 13:08

В этом случае (https://pasteboard.co/HJOKbzk.png) у нас есть 2 способа:

- при запуске phpunit в консоли установить переменную окружения, вот так:

$ SYMFONY_DEPRECATIONS_HELPER=weak ./vendor/bin/phpunit

показать простое уведомление в результате: Remaining deprecation notices (1) (https://pasteboard.co/HJONdvJ.png)

кроме того, мы можем использовать эту опцию:

$ SYMFONY_DEPRECATIONS_HELPER=weak_vendors ./vendor/bin/phpunit

мы получим более строгое предупреждение (https://pasteboard.co/HJOOZH9.png)

- мы также можем добавить переменную в конфигурацию phpunit (phpunit.xml [.dist])

<phpunit ...>
    <php>
        ...
        <env name = "SYMFONY_DEPRECATIONS_HELPER" value = "weak_vendors" />

Чтобы опустить все устаревшие сообщения (с осторожностью): <env name = "SYMFONY_DEPRECATIONS_HELPER" value = "disabled" />

javier_domenech 26.10.2018 15:27

Другие вопросы по теме