Ver índice de contenidos del libro

6.5. Variables de la ruta y argumentos del controlador

Las variables o parámetros de la ruta (por ejemplo, {slug}) son muy importantes porque están disponibles como argumentos del método del controlador:

public function showAction($slug)
{
    // ...
}

En realidad, todas las variables del array defaults se combinan con las variables de la ruta para formar un solo array. Cada clave de ese array conjunto está disponible como un argumento del controlador.

En otras palabras, por cada argumento de tu método controlador, Symfony busca una variable de ruta con ese nombre y asigna su valor a ese argumento.

En el ejemplo avanzado anterior, cualquier combinación de las siguientes variables (y en cualquier orden) se podría utilizar como argumentos para el método showAction():

  • $_locale
  • $year
  • $title
  • $_format
  • $_controller

Como se combinan las variables con los valores definidos en defaults, el controlador tiene a su disposición incluso variables como $_controller.

Truco Una variable especial adicional que siempre está disponible es $_route, que indica el nombre de la ruta que se está ejecutando.