Nuevo en Symfony 5.1: Hosts diferentes por cada idioma

Symfony 4.1 introdujo una funcionalidad para poder traducir las URLs de cada ruta. En Symfony 5.1 hemos mejorado esa funcionalidad para permitir también definir diferentes hosts por cada idioma.

En la práctica esto significa que ahora puedes pasar un array de valores a la opción host. Además, puedes hacerlo para cada ruta individual o al importar grupos de rutas. El siguiente ejemplo define un host diferente en inglés y en español para todas las rutas definidas como anotaciones en los controladores:

# config/routes/annotations.yaml
controllers:
    resource: '../../src/Controller/'
    type: annotation
    host:
        en: www.example.com
        es: www.ejemplo.es

Aunque este host se aplica a todas las rutas importadas, cada ruta puede definir si quiere su propio host para añadir, quitar o cambiar esos idiomas. Una cosa importante a tener en cuenta es que si una ruta usa un idioma que no está incluido en la lista de idiomas de su host, se muestra una excepción (no puedes definir un valor de host como valor por defecto).

Esta funcionalidad fue contribuida por Olivier Dolbeau en el pull request #36187.


Fuente: New in Symfony 5.1: Different hosts per locale

Comentarios

Publicada el

21 de abril de 2020

Etiquetas

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.