如何在zend框架中设置cookie?

时间:2012-02-14 12:18:22

标签: php zend-framework cookies session-cookies setcookie

我正在尝试使用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);

如何在.mydomain.com上运行我的网站时设置localhost

1 个答案:

答案 0 :(得分:3)

您可以在application/configs/application.ini

中将域添加为特定于环境的配置条目
[production]
cookieDomain = "example.com"

[development:production]
cookieDomain = "localhost"

然后将该域用作Zend_Http_Cookie构造函数中的第三个arg。

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

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