web-dev-qa-db-fra.com

Utilisateur obsolète: Doctrine\Common\ClassLoader est obsolète

J'utilise Symfony 3.4.12 et je ne trouve aucune information sur la façon de résoudre cette dépréciation:

User Deprecated: Doctrine\Common\ClassLoader is deprecated.

Toute suggestion?

23
Niko Nik

Le package Doctrine Common sera divisé en petits packages et le composant ClassLoader sera supprimé, c'est pourquoi l'avis de dépréciation. .__ Voir https://github.com/doctrine/common/issues/826 et https://www.doctrine-project.org/2018/07/12/common-2-9- et-dbal-2-8-and-orm-2-6-2.html .

Si vous utilisez directement le package doctrine/common, la solution serait de supprimer cette dépendance et d'ajouter les packages individuels à la place. Si vous utilisez Symfony, il existe déjà un RP pour modifier cela: https://github.com/symfony/symfony/pull/27609 . Donc, dans toute nouvelle version, la dépréciation devrait disparaître.

21
João Alves

Dans ce cas ( https://pasteboard.co/HJOKbzk.png ), nous avons deux moyens:

- lors de l'exécution de phpunit dans la variable d'environnement de la console, comme ceci:

$ SYMFONY_DEPRECATIONS_HELPER=weak ./vendor/bin/phpunit

afficher une notification simple dans le résultat: Remaining deprecation notices (1) ( https://pasteboard.co/HJONdvJ.png )

de plus, nous pouvons utiliser cette option:

$ SYMFONY_DEPRECATIONS_HELPER=weak_vendors ./vendor/bin/phpunit

nous aurons un avertissement plus strict ( https://pasteboard.co/HJOOZH9.png )

- nous pouvons aussi ajouter une variable à la configuration de phpunit (phpunit.xml [.dist])

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