A free and open-source book on ZF3 for beginners

Translation into this language is not yet finished. You can help this project by translating the chapters and contributing your changes.

4.6. Transformer les données en réponse HTTP

Même si vous interagissez rarement directement avec les données de réponse HTTP, vous pouvez le faire à l'aide de la méthode getResponse() fournie par la classe de base AbstractActionController. La méthode getResponse() renvoie une instance de la classe Zend\Http\PhpEnvironment\Response. Le tableau 4.4 contient les méthodes les plus importantes de cette classe :

Table 4.4. Méthodes de la classe Zend\Http\PhpEnvironment\Response.
Nom de la méthode Description
fromString($string) Remplit l'objet Response d'une chaîne.
toString() Transforme toute la réponse en chaîne de réponse HTTP.
setStatusCode($code) Définit le statut code HTTP et (facultativement) son message.
getStatusCode() Récupère le status code HTTP.
setReasonPhrase($reasonPhrase) Définit le message de statut HTTP.
getReasonPhrase() Récupère le message du status HTTP.
isForbidden() Vérifie si le code de réponse est une 403 Forbidden.
isNotFound() Vérifie si le status code indique que la ressource est introuvable (code d'état 404).
isOk() Vérifie si la réponse est réussie.
isServerError() Vérifie si la réponse a un status code 5xx.
isRedirect() Vérifie si la réponse a un status code de redirection (303).
isSuccess() Vérifie si la réponse a un status code de succès (200)
setHeaders(Headers $headers) Permet de définir les en-têtes de la réponse HTTP.
getHeaders() Retourne la liste des en-têtes de la réponse HTTP.
getCookie() Récupère l'en-tête du cookie.
setContent($value) Définit le contenu brut de la réponse.
getContent() Retourne le contenu brut de la réponse .
getBody() Obtient et décode le contenu de la réponse.

Par exemple, utilisez le code suivant pour définir le statut code 404 d'une réponse:

$this->getResponse()->setStatusCode(404);

Utilisez le code suivant pour ajouter un en-tête à la réponse :

$headers = $this->getResponse()->getHeaders();
$headers->addHeaderLine(
             "Content-type: application/octet-stream");

Utilisez le code suivant pour définir le contenu de la réponse :

$this->getResponse()->setContent('Some content');

Top