当前位置:首页 > PHP教程 > PHP常见问题

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


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!