Routing en Symfony3

El routing en Symfony3 es algo muy importante, ya que nos va a permitir tener un sistema de rutas limpias y amigables y nos va a brindar mucha potencia a la hora de desarrollar aplicaciones web con el framework. Veamos como se definen rutas en Symfony3. Se pueden definir rutas globales y rutas dentro de un bundle.

En nuestro caso modificaremos el fichero Src/PruebasBundle/Resources/config/routing.yml

ejemplos_pruebas_homepage:
    path:     /hello/{name}
    defaults: { _controller: PruebasBundle:Default:index }

Para la acción index, le digo que la ruta va a ser /index y que va a utilizar el método Action del controlador Pruebas del bundle PruebasBundle

index:
    path:     /index
    defaults: { _controller: PruebasBundle:Pruebas:index }

Lo mismo que con la ruta anterior, pero le paso un parámetro por URL y además le indico que el parámetro “param” tendrá por defecto el valor “valor_por_defecto”

mostrar:
    path:     /mostrar/{param}
    defaults: { _controller: PruebasBundle:Pruebas:mostrar, param:valor_por_defecto }

En esta ruta tendrá dos parámetros idioma y nombre, ambos tienen un valor por defecto. Le indicamos que esta ruta solo está accesible por GET y que el parámetro idioma puede tener uno de esos tres valores. Si algo no se cumple no nos dejará entrar.

mostrar_avanzado:
    path: /avanzada/{idioma}/{nombre}
    defaults: { _controller: PruebasBundle:Pruebas:avanzado, idioma:es, nombre:victor }
    methods:   [GET]
    requirements:        
        idioma: es|en|de

Routing en Symfony3 avanzado

Documentación oficial de Symfony2 – Routing

Víctor Robles WEB

Autor: Victor

Desarrollador web - Formador online - Blogger

Compartir este post