Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Différence entre addHttpHeader() et _httpHeaders

Posted by sylozof on 01/22/2008 11:56

En développant un objet jResponse personnalisé (voir cette discussion) je suis tombé sur un problème de charset. Dans le but de savoir si ça vient de ma réponse personnalisée ou si c'est autre chose (genre un problème de configuration du serveur), j'ai regardé les objets jResponse du core de Jelix..

Notamment dans l'objet jResponseText, j'ai remarqué ces deux lignes dans la fonction output() :

 $this->addHttpHeader('Content-Type','text/plain;charset='.$gJConfig->charset,false);
 $this->_httpHeaders['Content-length']=strlen($this->content);

Je me demandais quelle est la différence entre ces deux moyens d'ajouter des entêtes.

Merci d'avance

  [Opened] Re: Différence entre addHttpHeader() et _httpHeaders

Reply #1 Posted by laurentj on 01/22/2008 13:03

salut,

Quasiement aucune. La principale différence c'est que la méthode est publique et la propriété est protégée. La méthode ne fait que stocker les paramètres dans _httpHeaders. On peut toutefois lui dire si il faut ou non écraser l'entête correspondant quand il existe déjà.

  [Opened] Re: Différence entre addHttpHeader() et _httpHeaders

Reply #2 Posted by sylozof on 01/22/2008 15:42

Bon en fait je m'aperçois, d'après le code source de jResponse, que cette fonction ne fait rien de plus qu'ajouter le header au tableau _httpHeaders (avec la possibilité de faire un overwrite sur un header déjà enregistré).

edit : ok, j'avais posté sans lire la réponse à Laurent, désolé. Mais ça confirme ce que je pensais... Merci

  [Opened] Re: Différence entre addHttpHeader() et _httpHeaders

Reply #3 Posted by bballizlife on 01/22/2008 16:03

@laurentj : On avait pas dit qu'on remplaçait toutes les affectations directes par des addHttpHeaders() pour que ça soit plus propre ? Ici on aurait laissé passé une occurence du coup ?


N'importe comment c'est dans la doc

 
Page
  1. Différence entre addHttpHeader() et _httpHeaders