Índice

El Controladorcontrolador

Los controladores son elementos centrales, porque contienen la lógica de su aplicación. Disponen de varias funcionalidades, puestas a su disposición por diferentes servicios.

Puede apreciar estas funcionalidades recorriendo la clase Symfony\Bundle\FrameworkBundle\Controller\Controller, de la que heredan sus controladores. Cada método llama a un servicio del Service Container, estos métodos se corresponden con los accesos directos.

1. Recuperar un servicio

Todos los servicios son accesibles desde el controlador. Para acceder, es suficiente con invocar al método get(’id_del_servicio’).

public function indexAction()  
{  
   $MiServicio = $this->get(’mi_servicio’);  
   //recupera el servicio cuyo identificador es ’mi_servicio’  
   // ...  
}

Este método es capaz tanto de recuperar los servicios del framework, como sus servicios personalizados. Para más información sobre los servicios, vaya al capítulo que trata de la inyección de dependencias.

2. Utilizar los “argumentos mágicos” Argumentos mágicos

Hasta ahora, sus acciones eran métodos sin argumentos. Sepa que Symfony dispone de una funcionalidad de “argumentos mágicos”.

Si un argumento tiene un nombre o un tipado de objeto concreto, Symfony será capaz de inyectar un determinado valor (objeto) durante la invocación de la acción. De esta ...