警告:非静态方法Zend_Controller_Request_Http :: getCookie()不应该静态调用..
我尝试以下方法来获取Cookie值:
$cookieData = Zend_Controller_Request_Http::getCookie($key, $default);
有更好的方法吗?
答案 0 :(得分:17)
getCookie()
方法不是静态的,应该在对象上调用。
我相信这段代码来自你的控制器,所以它应该基本上看起来像
$request = $this->getRequest();
$cookieData = $request->getCookie('someCookie', 'default');
答案 1 :(得分:2)
这是一个轻微的侧面说明,但它可能很好地帮助避免长时间没有结果的时间。根据我的经验,在zf1和其他框架中无法从$ _COOKIE中检索值时出现的问题主要是因为setCookie很容易使用,忘记添加路径和域,如下所示:
setcookie('cookieName','cookieValue',$ finalExpirationTime,'/','。yourdomain.com');
而是这样做:
setcookie('cookieName','cookieValue',$ finalExpirationTime);
这真的很烦人,尤其是在使用ip而不是实际域的Windows上工作时。要注意的另一件事是域前面的点(。)。如手册中所述:旧版浏览器仍然实现已弃用的»RFC 2109可能需要领先。匹配所有子域。
希望这有帮助