1祷杈、Cookie
Yii2的Cookie主要是通過(guò)yii\web\Request和yii\web\Response進(jìn)行操作的 呀狼,通過(guò)\Yii::$app->response->getCookies()->add()添加Cookie致板,通過(guò)\Yii::$app->request->cookies讀取Cookie.
1)添加一個(gè)Cookie
//第一種方法
<?php
$cookie = new \yii\web\Cookie();
$cookie -> name = 'smister';? ? ? ? //cookie的名稱
$cookie -> expire = time() + 3600; ? //存活的時(shí)間
$cookie -> httpOnly = true; ? //無(wú)法通過(guò)js讀取cookie
$cookie -> value = 'cookieValue'; ? //cookie的值
\Yii::$app->response->getCookies()->add($cookie);
//第二種方法
$cookie = new \yii\web\Cookie([
?? ‘name’ => ‘smister’,
?? ‘expire’ => time() + 3600,
?? ‘httpOnly ’ => true,
?? ‘value’ => ‘cookieValue’
]);
\Yii::$app->response->getCookies()->add($cookie);
?>
2) 讀取一個(gè)Cookie
<?php
?\Yii::$app->response->getCookies()->add($cookie);
?$cookie = \Yii::$app->request->cookies;
?//返回一個(gè)\yii\web\Cookie對(duì)象
?$cookie->get(‘smister’);
?//直接返回Cookie的值
?$cookie->getValue(‘smister’); //$cookie[‘smister’] 其實(shí)這樣也是可以讀取的
?//判斷一個(gè)Cookie是否存在
?$cookie->has(‘smister’);
?//讀取Cookie的總數(shù)
?$cookie->count();//$cookie->getCount();跟count一樣
?>
3) 刪除Cookie
<?php
$cookie = Yii::$app->request->cookies->get(‘smister’);
//移除一個(gè)Cookie對(duì)象
\Yii::$app->response->getCookies()->remove($cookie);
//移除所有Cookie.
\Yii::$app->response->getCookies()->removeAll();
?>
4) 注意
對(duì)Cookie進(jìn)行增刪改時(shí)調(diào)用的response , 對(duì)Cookie讀取時(shí)使用的是Request
2藤抡、Session
Yii2的Session比較簡(jiǎn)單 ,直接通過(guò)\Yii::$app->session進(jìn)行操作就好了
1) 添加一個(gè)session
<?php
$session = \Yii::$app->session;
$session->set('smister_name' , 'myname');
$session->set('smister_array' ,[1,2,3]);
?>
2) 讀取一個(gè)session
<?php
$session = \Yii::$app->session;
//讀取一個(gè)Session
$session->get('smister_name);
?>
3) 刪除Session
<?php
$session = \Yii::$app->session;
//刪除一個(gè)session
$session->remove(‘smister_name’);
//刪除所有session
$session->removeAll();
?>