Symfony 2.4, el libro oficial

5.8. El objeto Response

El único requisito para un controlador es que devuelva un objeto de tipo Response. La clase Symfony\Component\HttpFoundation\Response es una abstracción en PHP de la verdadera respuesta HTTP (que está formada por el contenido que se envía al usuario y las cabeceras HTTP adecuadas):

// crea una respuesta simple con un código de estado
// igual a 200 (el predeterminado)
$response = new Response('Hello '.$name, Response::HTTP_OK);

// crea una respuesta JSON con código de estado 200
$response = new Response(json_encode(array('name' => $name)));
$response->headers->set('Content-Type', 'application/json');

Truco La propiedad headers es un objeto de tipo Symfony\Component\HttpFoundation\HeaderBag, que contiene varios métodos útiles para lectura y modificación de las cabeceras del objeto Response. Los nombres de las cabeceras se normalizan, para que no importe si utilizas Content-Type, content-type o incluso content_type.

Truco También existen varias clases especiales para simplificar algunos tipos de respuesta comunes:

  • Para devolver respuestas en formato JSON, utiliza la clase JsonResponse.
  • Para servir archivos binarios, utiliza la clase BinaryFileResponse.