El sistema de rutas es algo muy importante dentro de un Framework. Veamos como se definen rutas en Symfony2. Se pueden definir rutas globales y rutas dentro de un bundle.
En nuestro caso modificaremos el fichero Src/Ejemplos/PruebasBundle/Resources/config/routing.yml
ejemplos_pruebas_homepage: path: /hello/{name} defaults: { _controller: EjemplosPruebasBundle: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 EjemplosPruebasBundle
index: path: /index defaults: { _controller: EjemplosPruebasBundle: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: EjemplosPruebasBundle: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: EjemplosPruebasBundle:Pruebas:avanzado, idioma:es, nombre:victor } methods: [GET] requirements: idioma: es|en|de