【发布时间】:2013-06-06 21:03:58
【问题描述】:
我正在重构一些代码并发现了一些我从未见过的东西。该函数用于用户登录时设置cookie:
function setUserCookie($name, $value) {
$date = date("D, d M Y H:i:s",strtotime('1 January 2015')) . 'GMT';
header("Set-Cookie: {$name}={$value}; EXPIRES{$date};");
}
现在我已被分配重构代码,我打算使用 setcookie 函数,根据 php.net,它基本上做同样的事情。
我的问题是:两者之间有什么区别,我应该使用哪一个?
注意:这段代码是很久以前写的,所以我假设当时setcookie 不存在?
【问题讨论】:
-
您可能会发现
new Cookie($name)很有帮助,如this standalone library 中所示。这是设置 cookie 的第三个选项。老实说,永远不要直接设置 HTTP 标头。使用内置 PHP 函数或此处引用的构造函数,以便使用自动构建的标头值设置具有正确转义值的 cookie。