2010-09-14 4 views
4

Attention: méthode non-statique Zend_Controller_Request_Http :: getCookie() ne doit pas être appelée de façon statique dans ..Obtenez des valeurs Cookie avec Zend Framework

Iam essayant les suivantes pour obtenir des valeurs Cookie:

$cookieData = Zend_Controller_Request_Http::getCookie($key, $default); 

est- il y a une meilleure façon d'y arriver?

Répondre

16

getCookie() La méthode n'est pas statique, elle doit être appelée sur un objet.

Je crois que ce code est de votre contrôleur, il devrait donc regarder essentiellement comme

$request = $this->getRequest(); 
$cookieData = $request->getCookie('someCookie', 'default'); 
+0

Non, ce fait partie d'une bibliothèque (-: Et il n'y a pas d'objet de demande – opHASnoNAME

+0

Je ne sais pas ce que vous entendez par la bibliothèque Est-ce code appelé dans un modèle – Vika

+0

si ce code est nécessaire.? une classe de modèle? – almaruf

2

Ceci est une légère note de côté, mais il peut tout simplement bien éviter de longues heures inutiles. D'après mon expérience, les problèmes qui se produisent quand on ne peut pas récupérer la valeur de $ _COOKIE dans les cadres ZF1 et d'autres se produisent surtout parce que setCookie est si facile à utiliser on oublie d'ajouter le chemin et le domaine comme ceci:

setcookie ('cookieName ',' cookieValue ', $ finalExpirationTime,'/','. votredomaine.com ');

et au lieu faire ceci:

setcookie ('cookieName', 'cookievalue', finalExpirationTime $);

Cela devient vraiment ennuyeux, surtout lorsque vous travaillez sur Windows avec des ip au lieu de domaines réels. Une autre chose à surveiller serait le point (.) Devant le domaine. Comme indiqué dans le manuel: Les anciens navigateurs qui implémentent encore la norme obsolète »RFC 2109 peuvent nécessiter un leader. pour correspondre à tous les sous-domaines.

Hope this helps