Yii2 Cookie和Session 的使用[ 2.0 版本 ]

Yii2的cookie主要通过yii\web\Request和yii\web\Response来操作的。
通过\Yii::app->response->getCookies()->add($cookie)来添加cookie。
通过\Yii::app->request->cookies读取cookie

(一)、添加一个cookie
方法一:
$cookie = new \yii\web\Cookie();
$cookie->name = 'name';                //cookie名
$cookie->value = 'value';              //cookie值
$cookie->expire = time() * 3600;       //过期时间
$cookie->httpOnly = true;              //是否只读
\Yii::$app->response->getCookies()->add($cookie);
方法二:
$cookie = new \yii\web\Cookie([
        'name' => 'name',
        'value' => 'value',
	'expire' => time() + 18000,
	'httpOnly' => true
]);
\Yii::$app->response->getCookies()->add($cookie);  

(二)、读取一个Cookie
$cookie = \Yii::$app->request->cookies;
$cookie->has('name');			//判断cookie是否存在
$cookie->get('name');			//get()方法读取cookie
$cookie->getValue('name');		//getValue()方法读取cookie
$cookie->count();			//获取cookie个数
$cookie->getCount();			//获取cookie个数  

(三)、删除一个Cookie
$name = \Yii::$app->request->cookies->get('name');
\Yii::$app->response->getCookies()->remove($name);  

(四)、删除全部Cookie
\Yii::$app->response->getCookies()->removeAll();

二、Session

yii2的session通过yii\web\Session实例的session应用组件来访问。

$session = \Yii::$app->session;
(一)、添加一个session
$session->set('name_string','value');
$session->set('name_array',[1,2,3]);  

(二)、读取一个session
$session->get('name_string');
$session->get('name_array');  

(三)、删除一个session
$session->remove('name_array');  

(四)、删除所有session
$session->removeAll();

 

赞(0)
未经允许不得转载:TaKaSa » Yii2 Cookie和Session 的使用[ 2.0 版本 ]