如何在zend框架中设置cookie?
Posted
技术标签:
【中文标题】如何在zend框架中设置cookie?【英文标题】:how to set cookie in zend framework? 【发布时间】:2012-03-05 19:29:11 【问题描述】:我正在尝试使用 Zend Framework 设置 cookie,但我不明白它是如何工作的。
$cookie = md5("_somerandomstring_");
Zend_Loader::loadClass("Zend_Http_Client");
require_once "Zend/Http/Cookie.php";
$client = new Zend_Http_Client();
$cookie = new Zend_Http_Cookie('foo', $cookie, '.mydomain.com', time()+7200, '/path');
$client->setCookieJar();
$client->setCookie($cookie);
当我在localhost
上运行我的网站时,如何设置.mydomain.com
?
【问题讨论】:
你的问题是什么?$cookie = new Zend_Http_Cookie('foo', $cookie, '.mydomain.com', time()+7200, '/path');
是正确的。
很难回答你的非问题。怎么了?是不是不知道怎么找回cookies?
但我在本地主机上工作,所以我如何设置域名?请帮帮我
感谢您的回复。我在 localhost 上运行我的项目,那么如何在 Zend_Http_Cookies() 的第三个参数中设置域名?
【参考方案1】:
您可以将域添加为application/configs/application.ini
中特定于环境的配置条目。
[production]
cookieDomain = "example.com"
[development:production]
cookieDomain = "localhost"
然后将该域用作Zend_Http_Cookie
构造函数中的第三个参数。
这样,在开发模式下运行时,您可以将域设置为“localhost”,而在生产环境中运行时,您可以将其设置为“example.com”。
注意:我仍然会使用一个虚拟主机——命名为“example.local”——在本地以开发模式运行。例如,如果您正在使用“localhost”开发两个不同的项目,那么您为该单个域上的这两个项目设置的 cookie 可能会出现名称冲突。
【讨论】:
以上是关于如何在zend框架中设置cookie?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Zend Framework 2 中设置第一个应用程序
如何在禁用布局时在引导程序中设置的 Zend 控制器中回显头部链接