Aunque raramente interactuamos con los datos de la respuesta HTTP directamente podemos
hacerlo con la ayuda del método getResponse()
que provee la clase base AbstractActionController
.
El método getResponse()
regresa la instancia de la clase Zend\Http\PhpEnvironment\Response
.
La tabla 4.4 contiene los métodos más importantes de esta clase:
Nombre del Método | Descripción |
---|---|
fromString($string) |
Poblar el objeto de respuesta a partir de una cadena de caracteres. |
toString() |
Imprime toda la respuesta como una respuesta HTTP en forma de cadena de caracteres. |
setStatusCode($code) |
Coloca el código de estado HTTP y opcionalmente un mensaje. |
getStatusCode() |
Regresa el código de estado HTTP. |
setReasonPhrase($reasonPhrase) |
Coloca el mensaje de estado HTTP. |
getReasonPhrase() |
Regresa el mensaje de estado HTTP. |
isForbidden() |
Revisa si el código de respuesta es: 403 Forbidden. |
isNotFound() |
Revisa si el código de estado indica que el recurso no se encontró (código de estado 404). |
isOk() |
Revisa si la respuesta es exitosa. |
isServerError() |
Revisa si el código de estado de la respuesta es 5xx. |
isRedirect() |
Revisa si la respuesta es: 303 Redirect. |
isSuccess() |
Revisa si la respuesta es: 200 Successful. |
setHeaders(Headers $headers) |
Permite colocar los encabezados de la respuesta. |
getHeaders() |
Regresa una lista con los encabezados de la respuesta. |
getCookie() |
Regresa la cabecera Cookie. |
setContent($value) |
Coloca el contenido de la respuesta en crudo. |
getContent() |
Regresa el contenido de la respuesta en crudo. |
getBody() |
Trae y codifica el contenido de la respuesta. |
Por ejemplo, usamos el siguiente código para colocar el código de estado 404 en la respuesta:
$this->getResponse()->setStatusCode(404);
Usamos el siguiente código para agregar un encabezado a la respuesta:
$headers = $this->getResponse()->getHeaders();
$headers->addHeaderLine(
"Content-type: application/octet-stream");
Usamos el siguiente código para agregar contenido a la respuesta:
$this->getResponse()->setContent('Some content');