欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Yii2.0中的COOKIE和SESSION用法

程序员文章站 2024-04-02 16:15:22
1、cookie yii2的cookie主要是通过yii/web/request和yii/web/response进行操作的 ,通过/yii::$app->resp...

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

以上所述是小编给大家介绍的yii2.0中的cookie和session用法,希望对大家有所帮助