Prepara tus aplicaciones para Symfony 3 con el "Deprecation Detector"
Symfony 3 se publicará a finales de noviembre de 2015. Aprendiendo de nuestros propios errores, la transición de Symfony 2 a 3 será mucho más cómoda que la que tuvo lugar de symfony 1 a 2 en julio de 2011.
Técnicamente hablando, Symfony 3 no incluye ninguna nueva funcionalidad respecto a Symfony 2.8. El único cambio es que cualquier opción, funcionalidad o comportamiento de Symfony marcado como obsoleto (deprecated en inglés) dejará de funcionar.
Así que tus aplicaciones Symfony no funcionarán en Symfony 3 a menos que dejes de usar todas esas funcionalidades obsoletas. Para que te sea más sencillo detectar y corregir esos problemas, se acaba de publicar una herramienta llamada Deprecation Detector.
Esta aplicación de consola realiza una análisis estático de tu código fuente
para encontrar cualquier uso de métodos, clases, interfaces o servicios
obsoletos. En concreto, detecta el código obsoleto gracias a la anotación
@deprecated
que usa el código fuente de Symfony.
Aunque acaba de lanzarse y todavía le queda mucho para considerarse estable, ya puedes probarla en tus aplicaciones Symfony:
$ git clone [email protected]:sensiolabs-de/deprecation-detector.git $ cd deprecation-detector $ composer install $ ./bin/deprecation-detector check /ruta/a/tu-proyecto/src /ruta/a/tu-proyecto/vendor
Como seguramente vas a usar esta herramienta con mucha frecuencia, es mejor que crees un archivo PHAR y la instales globalmente en tu sistema, tal y como se explica en su documentación. En ese caso, usar la herramienta es mucho más sencillo:
$ cd /ruta/al/proyecto/symfony $ deprecation-detector check
La herramienta Deprecation Detector es un proyecto desarrollado por el equipo de SensioLabs Deutschland, mantenido por Marvin Klemp y publicado como software libre. Puedes colaborar con el proyecto mediante issues y pull requests.
Si pruebas la herramienta, no olvides comentarnos cuántas funcionalidades obsoletas ha encontrado en tus aplicaciones.
Comentarios
-
#1
Después de ejecutar esta herramienta en el código fuente de
symfony.es
, sólo ha descubierto 2 deprecations :) -
#2
Genial Javier. ¿En qué versión de Symfony está symfony.es?
-
#3
Ahora mismo está en 2.7.4, que es justo la anterior a la más reciente de la rama estable.
-
#4
Yo lo he probado en un proyecto con versión 2.7.5 y solo me ha encontrado uno. También he de decir que es un proyecto pequeño que me he hecho para hacer pruebas de API REST, mañana lo probaré en el trabajo a ver que tal :)
-
#5
A mi me ha salido en dos proyectos que 0 deprecations... No se si fiarme... jajaja
-
#6
a mi me sale Overriding deprecated method CommonBundle\Twig\Extensions\SeoExtension->getGlobals() | 15 | since 1.23 (to be removed in 2.0), implement Twig_Extension_GlobalsInterface instead
sin embargo, ya lo tengo con implements :-(
Este artículo ya no permite añadir más comentarios.
¿Por qué? Los artículos cierran sus comentarios automáticamente
unos meses después de su publicación para asegurar que estos sigan
siendo relevantes.
Proyectos Symfony destacados
La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más
Síguenos en @symfony_es para acceder a las últimas noticias.