首頁  >  文章  >  後端開發  >  Yii2.0中的COOKIE和SESSION用法

Yii2.0中的COOKIE和SESSION用法

高洛峰
高洛峰原創
2017-02-06 17:03:271651瀏覽

1、Cookie

Yii2的Cookie主要是透過yii/web/Request和yii/web/Response操作的,透過/Yii::$app->response->getCookies()->add()添加Cookie,透過/Yii::$app->request->cookies讀取Cookie.

1)加入一個Cookie

<?php
//第一种方法
$cookie = new /yii/web/Cookie();
$cookie -> name = &#39;smister&#39;;//cookie的名称
$cookie -> expire = time() + 3600; //存活的时间
$cookie -> httpOnly = true; //无法通过js读取cookie
$cookie -> value = &#39;cookieValue&#39;; //cookie的值
/Yii::$app->response->getCookies()->add($cookie);
//第二种方法
$cookie = new /yii/web/Cookie([
‘name&#39; => ‘smister&#39;,
‘expire&#39; => time() + 3600,
‘httpOnly &#39; => true,
‘value&#39; => ‘cookieValue&#39;
]);
/Yii::$app->response->getCookies()->add($cookie);
?>

2) 讀取一個Cookie

<?php
$cookie = /Yii::$app->request->cookies;
//返回一个/yii/web/Cookie对象
$cookie->get(‘smister&#39;);
//直接返回Cookie的值
$cookie->getValue(‘smister&#39;); //$cookie[‘smister&#39;] 其实这样也是可以读取的
//判断一个Cookie是否存在
$cookie->has(‘smister&#39;);
//读取Cookie的总数
$cookie->count();//$cookie->getCount();跟count一样
?>

) 注意

對Cookie進行增刪改時調用的response , 對Cookie讀取時使用的是Request

2、Session

Yii2的Session比較簡單,直接透過/Yii::$app->session進行操作就好了

1) 增加一個session

<?php
$cookie = Yii::$app->request->cookies->get(‘smister&#39;);
//移除一个Cookie对象
/Yii::$app->response->getCookies()->remove($cookie);
//移除所有Cookie,目前好像不太好使
/Yii::$app->response->getCookies()->removeAll();
?>

2) 讀取一個session

<?php
$session = /Yii::$app->session;
$session->set(&#39;smister_name&#39; , &#39;myname&#39;);
$session->set(&#39;smister_array&#39; ,[1,2,3]);
?>

3) 刪除Session

<?php
$session = /Yii::$app->session;
//读取一个Session
$session->get(&#39;smister_name);
?>

3) 刪除Session

<?php
$session = /Yii::$app->session;
//删除一个session
$session->remove(‘smister_name&#39;);
//删除所有session
$session->removeAll();
?>

和SESSION用法,希望對大家有幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對PHP中文網的支持!

更多Yii2.0中的COOKIE和SESSION用法相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn