Cookie处理:
Yii2的Cookie主要是通过yii\web\Request和yii\web\Response进行操作的 ,通过\Yii::$app->response->getCookies()->add()添加Cookie,通过\Yii::$app->request->cookies读取Cookie.
1)、添加一个Cookie:
//第一种方法 $cookie = new \yii\web\Cookie(); $cookie -> name = 'smisters2'; //cookie的名称 $cookie -> expire = time() + 3600; //存活的时间 $cookie -> httpOnly = true; //无法通过js读取cookie $cookie -> value = 'cookieValue'; //cookie的值 \Yii::$app->response->getCookies()->add($cookie); //第二种方法 $cookie = new \yii\web\Cookie([ 'name' => 'ck2', 'expire' => time() + 3600, 'httpOnly' => true, 'value' => 'cookieValue' ]); \Yii::$app->response->getCookies()->add($cookie);
2)、 读取一个Cookie
$cookie = \Yii::$app->request->cookies;
//返回一个\yii\web\Cookie对象
$cookie->get('smister');
//直接返回Cookie的值
$cookie->getValue('smister'); //$cookie[‘smister’] 其实这样也是可以读取的
//判断一个Cookie是否存在
$cookie->has('smister');
//读取Cookie的总数
echo $cookie->count();//$cookie->getCount();跟count一样3)、删除Cookie
$cookie = Yii::$app->request->cookies->get(‘smister’); //移除一个Cookie对象 \Yii::$app->response->getCookies()->remove($cookie); //移除所有Cookie,目前好像不太好使 \Yii::$app->response->getCookies()->removeAll();
4)、注意
对Cookie进行增删改时调用的response , 对Cookie读取时使用的是Request
Session处理:
使用YI::app->session获取session组件Yii2的Session比较简单 ,直接通过\Yii::$app->session进行操作就好了
<?php$session = \Yii::$app->session;
$session->set('smister_name' , 'myname');
$session->set('smister_array' ,[1,2,3]);?>$session = \Yii::$app->session;
//读取一个Session
$session->get('smister_name);$session = \Yii::$app->session; //删除一个 session$session->remove(‘smister_name’); //删除所有session $session->removeAll(); ?>

本文为崔凯原创文章,转载无需和我联系,但请注明来自冷暖自知一抹茶ckhttp://www.cksite.cn