这是我Cookie
课程的开始:
<?php
namespace Core;
use \App\Config;
class Cookie implements UserInformationInterface
{
public static function start()
{
if (!isset($_COOKIE[Config::COOKIE_NAME])) {
setcookie(Config::COOKIE_NAME, serialize(array()), time() + Config::COOKIE_TIME, '/', false, false);
}
return true;
}
public static function set($array)
{
self::start();
if (!empty($array)) {
if ($_COOKIE[Config::COOKIE_NAME]) {
$cookieArray = unserialize($_COOKIE[Config::COOKIE_NAME]);
} else {
$cookieArray = array();
}
foreach ($array as $key => $value) {
$cookieArray[$key] = $value;
}
$_COOKIE[Config::COOKIE_NAME] = serialize($cookieArray);
setcookie(Config::COOKIE_NAME, $_COOKIE[Config::COOKIE_NAME], time() + Config::COOKIE_TIME, '/', false, false);
return true;
}
return false;
}
}
我在sigininAction()
类中的Home
包含以下几行:
Cookie::set(array('remember' => 1));
header('Location: ' . Config::BASE_URL . 'user/dashboard/');
exit;
但是,如果我var_dump($_COOKIE[Config::COOKIE_NAME])
到达user/dashboard/
后,就会得到以下内容,这是我的start()
方法中设置的默认cookie值,而不是应该更新的cookie值。使用我的set()
方法创建的。:
string(6) "a:0:{}"
有人可以看到我要去哪里了吗?请让我知道是否需要更多代码。