Пользователь устарел: Doctrine\Common\ClassLoader устарел

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

User Deprecated: Doctrine\Common\ClassLoader is deprecated.

Некоторые предложения?

Ответы

Ответ 1

Doctrine Common пакет Doctrine Common будет разделен на небольшие пакеты, и компонент ClassLoader будет 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. Поэтому в любой новой версии устаревание должно исчезнуть.

Ответ 2

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

- при запуске phpunit в настройках среды установки консоли, например:

$ SYMFONY_DEPRECATIONS_HELPER=weak ./vendor/bin/phpunit

показать простое уведомление в результате: Remaining deprecation notices (1) предупреждения 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" />