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 = 'smister'; //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’ => ‘smister’,
‘expire’ => time() + 3600,
‘httpOnly ’ => true,
‘value’ => ‘cookieValue’
]);
\Yii::$app->response->getCookies()->add($cookie);
?>
2) 读取一个Cookie<?php
$cookie = \Yii::$app->request->cookies;
//返回一个\yii\web\Cookie对象
$cookie->get(‘smister’);
//直接返回Cookie的值
$cookie->getValue(‘smister’); //$cookie[‘smister’] 其实这样也是可以读取的
//判断一个Cookie是否存在
$cookie->has(‘smister’);
//读取Cookie的总数
$cookie->count();//$cookie->getCount();跟count一样
?>
3) 删除Cookie
<?php
$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
2、Session
Yii2的Session比较简单 ,直接通过\Yii::$app->session进行操作就好了
1) 添加一个session
<?php
$session = \Yii::$app->session;
$session->set('smister_name' , 'myname');
$session->set('smister_array' ,[1,2,3]);
?>
2) 读取一个session
<?php
$session = \Yii::$app->session;
//读取一个Session
$session->get('smister_name);
?>
3) 删除Session
<?php
$session = \Yii::$app->session;
//删除一个session
$session->remove(‘smister_name’);
//删除所有session
$session->removeAll();
?>
版权声明:未经博主允许不得转载。http://smister.com/post-33/cookie-session.html
S_林少 :
2018-02-27 18:22:48 回复
柳随风,绿 :
2017-02-19 20:16:40 回复
程序部-夏学进 :
2016-08-04 16:23:06 回复
用阳光勾勒微笑 ° :
2016-07-27 15:34:50 回复
闻海南 :
2016-07-12 14:11:52 回复
SYS赵成勇 :
2016-06-27 18:37:19 回复
Cocolait :
2016-06-20 21:35:18 回复
非 :
2016-06-10 16:55:37 回复
发表评论
热门标签
帖子分类
热门帖子
提示