这两个方法分别是设置cookie和获取cookie值的方法。对yii现有的方法进行封装,方便使用。
/**
* @param $name
* @param $data
* @param int $duration
*/
public function saveCookie($name,$data,$duration=86400){
$app = Yii::app();
$cookie = new CHttpCookie($name,$data);
$cookie->expire = time() + $duration;
$cookie->value = $app->getSecurityManager()->hashData(serialize($data));
$app->getRequest()->getCookies()->add($cookie->name, $cookie);
}
/**
* @param $name
* @return mixed|null
*/
public function getCookie($name){
$app = Yii::app();
$cookies=$app->getRequest()->getCookies();
if($cookies['name'] && $cookies['name']->value){
return unserialize($app->getSecurityManager()->validateData($cookies[$name]->value));
}
return null;
}