当前位置:Gxlcms > PHP教程 > Yii2.0中的COOKIE和SESSION用法

Yii2.0中的COOKIE和SESSION用法

时间:2021-07-01 10:21:17 帮助过:30人阅读

1、Cookie

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

1)添加一个Cookie

  1. <?php
  2. //第一种方法
  3. $cookie = new /yii/web/Cookie();
  4. $cookie -> name = 'smister';//cookie的名称
  5. $cookie -> expire = time() + 3600; //存活的时间
  6. $cookie -> httpOnly = true; //无法通过js读取cookie
  7. $cookie -> value = 'cookieValue'; //cookie的值
  8. /Yii::$app->response->getCookies()->add($cookie);
  9. //第二种方法
  10. $cookie = new /yii/web/Cookie([
  11. ‘name' => ‘smister',
  12. ‘expire' => time() + 3600,
  13. ‘httpOnly ' => true,
  14. ‘value' => ‘cookieValue'
  15. ]);
  16. /Yii::$app->response->getCookies()->add($cookie);
  17. ?>

2) 读取一个Cookie

  1. <?php
  2. $cookie = /Yii::$app->request->cookies;
  3. //返回一个/yii/web/Cookie对象
  4. $cookie->get(‘smister');
  5. //直接返回Cookie的值
  6. $cookie->getValue(‘smister'); //$cookie[‘smister'] 其实这样也是可以读取的
  7. //判断一个Cookie是否存在
  8. $cookie->has(‘smister');
  9. //读取Cookie的总数
  10. $cookie->count();//$cookie->getCount();跟count一样
  11. ?>

3) 删除Cookie

  1. <?php
  2. $cookie = Yii::$app->request->cookies->get(‘smister');
  3. //移除一个Cookie对象
  4. /Yii::$app->response->getCookies()->remove($cookie);
  5. //移除所有Cookie,目前好像不太好使
  6. /Yii::$app->response->getCookies()->removeAll();
  7. ?>

4) 注意

对Cookie进行增删改时调用的response , 对Cookie读取时使用的是Request

2、Session

Yii2的Session比较简单 ,直接通过/Yii::$app->session进行操作就好了

1) 添加一个session

  1. <?php
  2. $session = /Yii::$app->session;
  3. $session->set('smister_name' , 'myname');
  4. $session->set('smister_array' ,[1,2,3]);
  5. ?>

2) 读取一个session

  1. <?php
  2. $session = /Yii::$app->session;
  3. //读取一个Session
  4. $session->get('smister_name);
  5. ?>

3) 删除Session

  1. <?php
  2. $session = /Yii::$app->session;
  3. //删除一个session
  4. $session->remove(‘smister_name');
  5. //删除所有session
  6. $session->removeAll();
  7. ?>

以上所述是小编给大家介绍的Yii2.0中的COOKIE和SESSION用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对PHP中文网的支持!

更多Yii2.0中的COOKIE和SESSION用法相关文章请关注PHP中文网!

人气教程排行