Además de las variables definidas por la ruta, el controlador tiene acceso directo al objeto Request
. El motivo es que Symfony inyecta automáticamente el objeto Request
si el controlador define un argumento de tipo Symfony\Component\HttpFoundation\Request
(no importa ni el nombre del argumento ni su posición):
use Symfony\Component\HttpFoundation\Request;
public function indexAction(Request $request)
{
// ¿es una petición Ajax?
$request->isXmlHttpRequest();
$request->getPreferredLanguage(array('en', 'fr'));
// obtiene el valor de un parámetro $_GET
$request->query->get('page');
// obtiene el valor de un parámetro $_POST
$request->request->get('page');
}
Al igual que el objeto Response
, las cabeceras de la petición se almacenan en un objeto HeaderBag
y son fácilmente accesibles.