Yii2.0 的COOKIE和SESSION用法

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

 \Yii::$app->response->getCookies()->add($cookie);

 $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();

?>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Composer 基本用法 // 安装yii程序 composercreate-project--prefer-d...
    热过豆腐干阅读 1,265评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,933评论 18 139
  • yii处理http请求时,执行的流程是这样的: 1、服务器接收到来自客户端(比如浏览器)的请求,服务器(比如ngi...
    小羊羊爱吃饭阅读 729评论 0 0
  • 细说Cookie 阅读目录 开始 Cookie 概述 Cookie的写、读过程 使用Cookie保存复杂对象 Js...
    拉肚阅读 1,125评论 0 4
  • 亲爱的,此刻我正在6000米的高空,一点一点的离你远去。当飞机穿破云层的那一刻,我看到了久违的蓝天,心情也...
    孙起凡卓雅智慧教育城阅读 380评论 0 0