2012-02-14 179 views
2

我想用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

回答

3

您可以將域添加爲application/configs/application.ini中特定於環境的配置項。

[production] 
cookieDomain = "example.com" 

[development:production] 
cookieDomain = "localhost" 

然後使用該域名作爲第三個參數的構造函數Zend_Http_Cookie

這樣,在開發模式下運行時,可以設置的域爲「localhost」的,而在生產運行,你可以將其設置爲,說:「example.com」。

注:我還是用虛擬主機 - 名爲類似「example.local」 - 在開發模式在本地運行。例如,如果您使用「localhost」開發兩個不同的項目,那麼您爲該單個域上的這兩個項目設置的cookie可能會遭受名稱衝突。