Nuevo en Symfony 4.1: Prefijar los nombres de las rutas importadas
En Symfony 3.4 y 4.0 añadimos la posibilidad de prefijar los nombres de las rutas de un controlador
mediante la opción name
de la anotación @Route
. Por ejemplo, en este controlador
los nombres de las rutas serán blog_index
y blog_post
:
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; /** @Route("/blog", name="blog_") */ class BlogController extends Controller { /** @Route("/", name="index") */ public function indexAction() { ... } /** @Route("/posts/{slug}", name="post") */ public function showAction(Post $post) { ... } }
En Symfony 4.1 hemos mejorado esta funcionalidad para poder usarla también
cuando se importan rutas en los archivos de configuración. Gracias a la nueva
opción name_prefix
puedes prefijar el nombre de todas las rutas que importes
por ejemplo de algún bundle o librería de terceros:
app: resource: ../controller/routing.yaml api: resource: ../controller/routing.yaml # este prefijo se añade al nombre de todas las rutas name_prefix: api_ # este prefijo se añade a todas las URL de los controladores prefix: /api
El mismo ejemplo usando XML sería:
<?xml version="1.0" encoding="UTF-8" ?> <routes xmlns="http://symfony.com/schema/routing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd"> <import resource="../controller/routing.xml" /> <import resource="../controller/routing.xml" prefix="/api" name-prefix="api_" /> </routes>
Esta funcionalidad fue contribuida por Samuel Roze en el pull request #25178.
Fuente: New in Symfony 4.1: Prefix imported route names
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.