Nuevo en Symfony 4.1: declarada obsoleta la notación bundle
En las aplicaciones Symfony modernas ya no se recomienda usar bundles para organizar la lógica de negocio. No obstante, todavía es posible usar la "notación bundle" heredada del uso de bundles en partes como la definición de rutas:
bundle_controller: path: / defaults: _controller: FrameworkBundle:Redirect:redirect
En nuestro afán por simplificarlo todo y eliminar "cosas de Symfony" por "cosas estándar de PHP", en Symfony 4.1 hemos declarado obsoleta esta notación y la hemos reemplazado por la notación namespace de PHP:
bundle_controller: path: / defaults: _controller: Symfony\Bundle\FrameworkBundle\Controller\RedirectController::redirectAction
Además, al trabajar en estos cambios, nos dimos cuenta de otra inconsistencia
que también hemos corregido. Cuando defines los controladores como servicios,
tienes que usar dos puntos (:
) en vez de cuatro puntos (::
) para separar el
ID del servicio y el nombre del método a ejecutar:
service_controller: path: / defaults: _controller: app.my_controller:myAction
En otras partes de Symfony siempre se usan cuatro puntos (::
) para separar las
clases y los métodos, así que esta diferencia solamente complica las cosas y no
tiene ninguna ventaja. Así que en Symfony 4.1 podrás usar siempre cuatro puntos
para separar los nombres de los métodos:
service_controller: path: / defaults: _controller: app.my_controller::myAction
Esta funcionalidad fue contribuida por Tobias Schultze en el pull request #26085.
Fuente: New in Symfony 4.1: Deprecated the bundle notation
Comentarios
Proyectos Symfony destacados
La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más
Síguenos en @symfony_es para acceder a las últimas noticias.