Yaf_Response_Abstract::setHeader

(Yaf >=1.0.0)

Yaf_Response_Abstract::setHeaderDéfinit un en-tête de réponse HTTP

Description

public function Yaf_Response_Abstract::setHeader(
    string $name,
    string $value,
    bool $replace = false,
    int $response_code = 0
): bool

Définit un en-tête de réponse HTTP.

Note:

Cette méthode n'est pleinement implémentée que dans la sous-classe Yaf_Response_Http. Dans la classe abstraite, il s'agit d'une ébauche.

Liste de paramètres

name

Le nom de l'en-tête.

value

La valeur de l'en-tête.

replace

Indique s'il faut remplacer tout en-tête existant portant le même nom. Si false, la nouvelle valeur est ajoutée à la valeur existante, séparée par une virgule. Il est à noter que, bien que la valeur par défaut déclarée soit false, l'implémentation actuelle remplace l'en-tête existant lorsque ce paramètre est omis.

response_code

S'il est non nul, le code de réponse HTTP à définir sur la réponse.

Valeurs de retour

Retourne true en cas de succès, ou false en cas d'échec.

Exemples

Exemple #1 Exemple avec Yaf_Response_Abstract::setHeader()

<?php
class IndexController extends Yaf_Controller_Abstract
{
    public function indexAction()
    {
        $response = $this->getResponse();

        $response->setHeader("Content-Type", "application/json");

        /* envoie un 401 et demande des identifiants */
        $response->setHeader("WWW-Authenticate", 'Basic realm="Member Area"', true, 401);
    }
}
?>

Voir aussi

add a note

User Contributed Notes 1 note

up
0
lee dot howarth dot 90 at gmail dot com
12 years ago
A few examples of how to send headers from a controller...

/* Set Content-Type */
 $response = $this -> getResponse();
           
 $response -> setHeader( 'Content-Type', 'text/html; charset=utf-8' );
     
$response -> response();

/* Set HTTP Status */
$response = $this -> getResponse();
           
$response -> setHeader( $this -> getRequest() -> getServer( 'SERVER_PROTOCOL' ), '404 Not Found' );
           
$response -> response();

You could also use $_SERVER[ 'SERVER_PROTOCOL' ] however it is recommend to extend the request class do some cleaning of the super globals then you should be good to go.
To Top