Advertencias de desaprobación después de actualizar Symfony 4.3.9 a 4.4.1 / 5.0

12

Tuve una instalación de Symfony 3.4.9 libre de obsolescencia. Así que actualicé el FW a 4.1.1. Ahora recibí 9 advertencias de desaprobación provenientes de bibliotecas de proveedores:

  • La creación de Doctrine \ ORM \ Mapping \ UnderscoreNamingStrategy sin que sea consciente del número está en desuso y se eliminará en Doctrine ORM 3.0.
  • La clase "Symfony \ Component \ HttpKernel \ EventListener \ ExceptionListener" está en desuso desde Symfony 4.4, use "ErrorListener" en su lugar.
  • La clase Doctrine \ Common \ Persistence \ Mapping \ AbstractClassMetadataFactory está en desuso desde doctrine / persistence 1.3 y se eliminará en 2.0. Use \ Doctrine \ Persistence \ Mapping \ AbstractClassMetadataFactory en su lugar.
  • La clase Doctrine \ Common \ Persistence \ Mapping \ RuntimeReflectionService está en desuso desde doctrine / persistence 1.3 y se eliminará en 2.0. Utilice \ Doctrine \ Persistence \ Mapping \ RuntimeReflectionService en su lugar.
  • La clase Doctrine \ Common \ Persistence \ ObjectManager está en desuso desde doctrine / persistence 1.3 y se eliminará en 2.0. Utilice \ Doctrine \ Persistence \ ObjectManager en su lugar.
  • La clase Doctrine \ Common \ Persistence \ ObjectRepository está en desuso desde doctrine / persistence 1.3 y se eliminará en 2.0. Utilice \ Doctrine \ Persistence \ ObjectRepository en su lugar.
  • La clase Doctrine \ Common \ PropertyChangedListener está en desuso desde doctrine / persistence 1.3 y se eliminará en 2.0. Use \ Doctrine \ Persistence \ PropertyChangedListener en su lugar.
  • La clave de configuración "twig.exception_controller" ha quedado en desuso en Symfony 4.4, configúrela como "nula" y utilice la clave de configuración "framework.error_controller" en su lugar. (x2)

¿Es esto "normal" o hay algún problema en mi archivo composer.json? Verifiqué dos veces y no puedo ver ninguna dependencia que tenga una configuración "fija".

Incluso eliminé la carpeta completa del proveedor y la descargué nuevamente, ya que pensé que podría quedar "basura", con el mismo resultado.

Mi archivo 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.*"
        }
    }
}

EDITAR

Verifiqué los paquetes instalados con composer showy veo que al menos 2 de los paquetes instalados son relevantes con la lista de desaprobación anterior:

(...)
doctrine/orm                        v2.7.0  Object-Relational-Mapper for PHP
doctrine/persistence                1.3.3   The Doctrine Persistence project is a set of shared...
(...)

Así que verifiqué las versiones disponibles de estos paquetes composer info doctrine/persistence --ally vi que ha instalado la última versión no dev:

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
(...)

Igual por doctrine-orm .

El sitio de GitHub para doctrina / persistencia también parece corroborar esto: https://github.com/doctrine/persistence/releases

Esto me lleva a pensar que este es un comportamiento realmente normal y que en el futuro, cuando estos paquetes se actualicen, los mensajes de desaprobación desaparecerán.

Nota sobre la solución

Como cualquiera que haya leído la respuesta aceptada lo notará, todavía hay 5 desaprobaciones que aún no se pueden resolver. Incluiré una respuesta ASA, hay una solución para esto. Si alguien se da cuenta de esto antes que yo, no dude en agregar una respuesta a esta pregunta. Gracias.

Nelson Teixeira
fuente
Si provienen de bibliotecas de proveedores y no de su código, entonces es normal. Debe actualizar los proveedores en cuestión y eso debería solucionarlo. Tenga en cuenta que no todas las bibliotecas están actualizadas con las últimas obsoletas de Symfony y doctrina, por lo que la actualización podría no solucionarlo de inmediato.
tftd
El problema es ... ¿qué vendedores? Hay múltiples paquetes para la doctrina y para la rama. AFAIU estos son los involucrados. ¿Cuáles debo elegir en json? Acabo de comprobar ... solo para el paquete de doctrina hay 33.
Nelson Teixeira
La forma más fácil que he encontrado para lidiar con esto es iniciar el proyecto en modo de desarrollo y pasar por algunas páginas en su navegador. La barra de herramientas de depuración le mostrará avisos de desaprobación y puede utilizar los traceenlaces para ver el stacktrace y el punto de donde provienen. :)
tftd
2
Las cosas cambiaron entre 4.3 y 4.4. Recuerde que solo necesita limpiar la desuso antes de pasar a 5.x. Así que simplemente siga adelante y solucione como cualquier otro, aunque el primero es en realidad un problema de Doctrina y se puede solucionar con: stackoverflow.com/questions/58975182/…
Cerad
1
Por favor no borres la pregunta. Incluso si no hay nada que hacer, excepto esperar las actualizaciones del proveedor. Llegué aquí a través de la desaprobación de Doctrina (aproximadamente ObjectManager) y me ayudó a ver qué está pasando.
k00ni

Respuestas:

3

Ok, he podido arreglar lo siguiente. Siéntase libre de editar esto si alguien sabe cómo solucionar cualquiera de los otros.

1.) De Cerad en los comentarios: Desaprobación: Doctrine \ ORM \ Mapping \ UnderscoreNamingStrategy sin que el número esté al tanto es obsoleto

9.) Opción de configuración Twig twig.exception_controller: https://github.com/symfony/symfony/blob/master/UPGRADE-4.4.md#twigbundle

2.) El ExceptionListener se aclaró cuando arreglé los dos elementos anteriores, reduciéndome a solo 5 desuso


Finalmente, los 5 restantes parecen ser conocidos y se solucionarán por esto: advertencias de clases obsoletas en la consola de Symfony 5.0.1 en Windows

MEmerson
fuente
1
Excelente. También reduje mi número de desaprobaciones a 5. Gracias.
Nelson Teixeira
3

Si desea deshacerse de las Doctrine\Common\Persistence\*depreciaciones hasta que todo esté arreglado, puede agregar un "conflict": { "doctrine/persistence": "1.3.*" }a su composer.jsony quedarse con la versión 1.2. * De doctrina / persistencia .

Damien Debin
fuente
2
Gracias por la información, pero prefiero tener los mensajes, o probablemente olvidaré que tengo que arreglar esto. :)
Nelson Teixeira