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

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

时间: 2024-09-20 07:45:01

Yii2.0中的COOKIE和SESSION用法的相关文章

Yii2.0中的COOKIE和SESSION用法_php实例

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 =

详解PHP中cookie和session的区别及cookie和session用法小结

具体来说 cookie 是保存在"客户端"的,而session是保存在"服务端"的 cookie 是通过扩展http协议实现的 cookie 主要包括 :名字,值,过期时间,路径和域: 如果cookie不设置生命周期,则以浏览器关闭而关闭,这种cookie一般存储在内存而不是硬盘上.若设置了生命周期则相反,不随浏览器的关闭而消失,这些cookie仍然有效直到超过设定的过 期 时间. session 一种类似散列表的形式保存信息, 当程序需要为某个客户端的请求创建一个

YII2.0之Activeform表单组件用法实例_php实例

本文实例讲述了YII2.0之Activeform表单组件用法.分享给大家供大家参考,具体如下: Activeform 文本框:textInput(); 密码框:passwordInput(); 单选框:radio(),radioList(); 复选框:checkbox(),checkboxList(); 下拉框:dropDownList(); 隐藏域:hiddenInput(); 文本域:textarea(['rows'=>3]); 文件上传:fileInput(); 提交按钮:submitBu

Yii2.0中使用js异步删除示例

整理文档,搜刮出一个Yii2.0中使用js异步删除示例,稍微整理精简一下做下分享. 控制器: public function actionWeixinnotificationdel() { $model = WxDistributorNotification::findOne($_GET['id']); if ($model) { if($model->delete()) { echo 1; Yii::$app->end(); } } echo 0; Yii::$app->end();

java中使用Cookie替代Session解决跨域Session失效问题

分布式系统中,各个子域名跨域访问的时候,会出现session失效问题,导致登录失败. 例如:用户在www.111cn.net 上登录成功了.但是切换到他的个性化域名 mb.111cn.net 上的时候session失效. 怎么办? 可以采用session复制方案,比如nfs session共享,membercache session存储,还有使用terracotta也可以. 采取以上方案都可以,但是上述方案会导致开发环境过于复杂,运维环境也过于复杂,而且session跨网络传输响应速度会减慢.

YII2.0中分页实现方法

//在Controller中引用 use yii\data\Pagination;      //分页类 //在列表的方法中写入 $pages = new Pagination(['totalCount' =>$count, 'pageSize' => 10]); return $this->render('index',[pages' => $pages]); //在模板中写入 < ?= LinkPager::widget(['pagination' => $page

cookie、session和java过滤器

基础知识理解: cookie.session和过滤器通常都是用在web应用中,cookie和session用来保存一定的数据,过滤器Filter则是在浏览器发出请求之后,而后台执行特定的请求之前发生一定的作用.之所以把这三个放一起,是因为有很多时候都会是把他们结合在一起使用,例如有些登陆程序. cookie是浏览器的机制,session是服务器的机制,但是实际上cookie也是由服务器生成的,之后返回给浏览器的,并不是浏览器本身生成.当浏览器发送某个请求时,如果拥有有效的cookie则会把这个c

PHP教程:COOKIE与SESSION联合实现跨域

大家都知道SESSION是不可以跨域的,也就是说: A.WEMVC.COM这个域的可执行文件不可以访问到B.WEMVC.COM的SESSION,这个是SESSION的特性,同样也是出于安全角度才这样的.在一般情况下,一个网站只有一个域名,但是也有些网站架构是由多个子域名组建的.所以就需要SESSION可以跨子域被访问到,这样才可以实现用户的跨域登录.就是说客户在A下登录的,同样B也同时登录了,不需要用户再次登录,同时也实现了参数的跨域传递.当然不可跨域的SESSION本身已经可以帮助我们做很多事

cookie、session和java过滤器结合实现登陆程序_java

cookie.session和过滤器通常都是用在web应用中,cookie和session用来保存一定的数据,过滤器Filter则是在浏览器发出请求之后,而后台执行特定的请求之前发生一定的作用.之所以把这三个放一起,是因为有很多时候都会是把他们结合在一起使用,例如有些登陆程序. cookie是浏览器的机制,session是服务器的机制,但是实际上cookie也是由服务器生成的,之后返回给浏览器的,并不是浏览器本身生成.当浏览器发送某个请求时,如果拥有有效的cookie则会把这个cookie带在一