服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - Yii2.0中的COOKIE和SESSION用法

Yii2.0中的COOKIE和SESSION用法

2021-02-23 15:48PHP教程网 PHP教程

Yii2的Cookie主要是通过yii/web/Request和yii/web/Response进行操作的,Yii2的Session比较简单 ,直接通过/Yii::$app->session进行操作就好了。本文给大家介绍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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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

?
1
2
3
4
5
6
7
8
9
10
11
<?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

?
1
2
3
4
5
6
7
<?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

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

2) 读取一个session

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

3) 删除Session

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

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

延伸 · 阅读

精彩推荐