如何在zend框架中设置cookie?

问题描述:

我想用Zend Framework来设置一个cookie,但我不明白它是如何工作的。如何在zend框架中设置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

+1

你的问题是什么? '$ cookie = new Zend_Http_Cookie('foo',$ cookie,'.mydomain.com',time()+ 7200,'/ path');'是正确的。 – pltvs 2012-02-14 12:41:28

+0

很难回答你的问题。哪里不对?是否你不知道如何检索cookie? – Iznogood 2012-02-14 13:12:32

+0

但我在localhost上工作,所以我如何设置域名?请帮助我 – Jalpesh 2012-02-15 04:22:16

您可以将域添加为application/configs/application.ini中特定于环境的配置项。

[production] 
cookieDomain = "example.com" 

[development:production] 
cookieDomain = "localhost" 

然后使用该域名作为第三个参数的构造函数Zend_Http_Cookie

这样,在开发模式下运行时,可以设置的域为“localhost”的,而在生产运行,你可以将其设置为,说:“example.com”。

注:我还是用虚拟主机 - 名为类似“example.local” - 在开发模式在本地运行。例如,如果您使用“localhost”开发两个不同的项目,那么您为该单个域上的这两个项目设置的cookie可能会遭受名称冲突。