我正在重构一些代码,找到了一些我从未见过的东西。这个函数用于用户登录时设置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)
很有用,它在这个独立的库中可以找到。所以这是设置cookie的第三种选择。老实说,永远不要直接设置HTTP头。使用内置的PHP函数或此处引用的构造函数来设置cookie,以使用自动构建的标头值正确转义值。 - caw