Yii2实用基础学习笔记(六):Cookie和Session [ 2.0 版本 ]
一、Cookie
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();
菜鸟CK 北京
注册时间:2015-08-20
最后登录:2020-02-24
在线时长:24小时15分
最后登录:2020-02-24
在线时长:24小时15分
- 粉丝103
- 金钱1110
- 威望110
- 积分2450
共 2 条评论
感谢 简单明了
设置cookies应该是直接add就行了 不用getCookies()
$cookies= \Yii::$app->response->cookies; $data=[ 'name'=>'789', 'value'=>'45613' ]; $cookies->add(new Cookie($data));
这样也行