Yii框架中用response保存cookie,用request读取cookie的原理解析
本文实例讲述了Yii框架中用response保存cookie,用request读取cookie的原理。分享给大家供大家参考,具体如下:
在学习cookie的时候,相信很多人和我有一样的疑惑?为什么保存cookie要用response,读取cookie却用request呢?
参考https://www.imooc.com/qadetail/188079
cookie是web服务器为了保存一些用户数据而创建保存在本地的一个加密文件,这些过程是由服务器操作,所以使用response。读取cookie数据是客户端行为,所以用request。这样理解可能好一点。
再者
Request.Cookies
创建的Cookie只能用于后台不能用于HTML的前台
Response.Cookies
操作过的Cookie,所有方法获取到的都是被更新过的值,也就是说Response.Cookies
是修改所有容器中的Cookie的值;
如果还是不太明白,我们可以通过实践,使用request->cookies
删除一个cookie数据。
$cookies = \Yii::$app->response->cookies; $array_cookies=array('name'=>'user','value'=>'doubly'); $cookies->add(new Cookie($array_cookies)); $cookies = \Yii::$app->request->cookies; $cookies->remove('user'); echo $cookies->getValue("user");
访问网页可以发现Yii框架报错
简单的说,request->cookies
不能对cookie数据进行修改等操作。
更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Yii框架的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 =
-
Yii2中cookie用法示例分析
本文实例讲述了Yii2中cookie用法.分享给大家供大家参考,具体如下: <?php //设置方法 $cookie = new Cookie([ 'name' => 'cookie_monster', 'value' => 'Me want cookie!', 'expire' => time() + 86400 * 365, ]); \Yii::$app->getResponse()->getCookies()->add($cookie); //读取方法 $v
-
yii操作session实例简介
本文简述了Yii框架中使用session的方法,具体步骤如下: 一.与标准php代码的区别: 在Yii框架中,你不需要像标准PHP代码那样使用session_start(), 在Yii框架中,autoStart 属性缺省被设置为true,所以, 虽然没有使用session_start(),你仍然可以使用$_SESSION全局变量,但最好使用Yii框架封装的Yii::app->session 二.session变量的使用: 设置session: Yii::app()->session['var'
-
Yii框架学习笔记之session与cookie简单操作示例
本文实例讲述了Yii框架学习笔记之session与cookie操作.分享给大家供大家参考,具体如下: session操作 <?php namespace app\controllers; use yii\web\Controller; class HelloController extends Controller{ public function actionIndex(){ //把session当做对象 $session = \yii:$app->session; if($session-
-
yii操作cookie实例简介
yii对cookie的操作常见的主要有以下几种: 1.设置cookie: $cookie = new CHttpCookie('mycookie','this is my cookie'); $cookie->expire = time()+60*60*24*30; //有限期30天 Yii::app()->request->cookies['mycookie']=$cookie; 2.读取cookie: $cookie = Yii::app()->request->getC
-
Yii2下session跨域名共存的解决方案
前面谈过session相关配置,在开发的时候,常需要跨域共用session的是登录模块,我相信很多开发的朋友的都遇到过,只需要一个地方登录,相关联的网站也是处于登录状态.两种情况:一种9streets.cn和a.9streets.cn之间,另一种是a.com b.com之间,这几天总结了一下处理方法. 无论是一二级域名,和不同域名下的跨域,无非要达到两点: 客户端访问同一个sessionId, 所有域名对应的服务器访问的session的数据的位置必须一致. 1.访问共同的sessionId主要是
-
Yii中的cookie的发送和读取
cookies: //新创建的cookie会从本地传到服务器上,然后从服务器获取. (1) cookie的发送 $cookies = Yii::$app->response->cookies; // 在要发送的响应中添加一个新的cookie eg:往cookies中添加用户名和密码 $cookies->add(new Cookie(['name'=>'username', 'value'=>$username,])); $cookies->add(new Cookie(
-
YII2自动登录Cookie总是失效的解决方法
前言 最近做Yii2自动登录功能,发现即使开启了Yii2的自动登录配置功能,浏览器关闭后,再次打开浏览器还是处于非登录状态. 网上查询资料基本没有相同情况. 查询登录源码: protected function sendIdentityCookie($identity, $duration) { $cookie = new Cookie($this->identityCookie); $cookie->value = json_encode([ $identity->getId(), $
-
解析PHP的Yii框架中cookie和session功能的相关操作
Sessions 和 请求 和 响应类似, 默认可通过为yii\web\Session 实例的session 应用组件 来访问sessions. 开启和关闭 Sessions 可使用以下代码来开启和关闭session. $session = Yii::$app->session; // 检查session是否开启 if ($session->isActive) ... // 开启session $session->open(); // 关闭session $session->clo
-
Yii框架中用response保存cookie,用request读取cookie的原理解析
本文实例讲述了Yii框架中用response保存cookie,用request读取cookie的原理.分享给大家供大家参考,具体如下: 在学习cookie的时候,相信很多人和我有一样的疑惑?为什么保存cookie要用response,读取cookie却用request呢? 参考https://www.imooc.com/qadetail/188079 cookie是web服务器为了保存一些用户数据而创建保存在本地的一个加密文件,这些过程是由服务器操作,所以使用response.读取cookie数
-
Yii框架操作cookie与session的方法实例详解
本文实例讲述了Yii框架操作cookie与session的方法.分享给大家供大家参考,具体如下: cookie操作 设置cookie //获取response->cookies组件 $cookies = \Yii::$app->response->cookies; //设置cookie数组 $array_cookies=array('name'=>'user','value'=>'doubly'); //添加cookie数据 $cookies->add(new Cook
-
javascript创建cookie、读取cookie
本文内容分为两个部分进行学习,分别介绍了javascript创建cookie.javascript读取cookie的具体实现方法,供大家学习,具体内容如下 一.创建Cookie document.cookie = 'key=value'; 有特殊字符 使用encodeURIComponent() 进行编码 document.cookie = 'user='+encodeURIComponent('郭钱;'); 读取时 使用decodeURIComponent() 例如: document.c
-
Yii框架Session与Cookie使用方法示例
本文实例讲述了Yii框架Session与Cookie使用方法.分享给大家供大家参考,具体如下: Yii Session使用 public function actionIndex(){ $session = \YII::$app->session; //判断session是否开启 if(!$session->isActive) { //未开启,需要开启 $session->open(); } //设置session $session->set('user_name','zhangs
-
Yii框架组件和事件行为管理详解
本文实例讲述了Yii框架组件和事件行为管理.分享给大家供大家参考,具体如下: Yii是一个基于组件.用于开发大型 Web 应用的高性能 PHP 框架.CComponent几乎是所有类的基类,它控制着组件与事件的管理,其方法与属性如下,私有变量$_e数据存放事件(evnet,有些地方叫hook),$_m数组存放行为(behavior). 组件管理 YII是一个纯oop框架,很多类中的成员变量的受保护或者私有的,CComponent中利用php中的魔术方法__get(),__set()来访问和设置属
-
详细解读PHP的Yii框架中登陆功能的实现
Yii的登陆机制 Yii 生成应用时已经提供了最基础的用户登陆机制.我们用 Yii 生成一个新的应用,进入 protected/components 目录,我们可以看到 UserIdentity.php 文件,里面的 UserIdentity 类里面只有一个 public 函数如下: public function authenticate() { $users=array( // username => password 'demo'=>'demo', 'admin'=>'admin'
-
Yii框架分页实现方法详解
本文实例讲述了Yii框架分页实现方法.分享给大家供大家参考,具体如下: 下家公司用的框架是yii,这几天看了下相关教程,今儿把分页教程写下,最后把tp的分页也给整合进了yii,因为个人觉得yii分页没有tp用的顺手. 首页,在models目录里创建个Auth.php的模型文件,里面写入 class Auth extends CActiveRecord { public static function model($className = __CLASS__) { return parent::m
-
Yii框架登录流程分析
本文详细分析了Yii框架的登录流程.分享给大家供大家参考.具体分析如下: Yii对于新手来说上手有点难度,特别是关于session,cookie和用户验证.现在我们就Yii中登录流程,来讲讲Yii开发中如何设置session,cookie和用户验证方面的一些通用知识 1. 概述 Yii是一个全栈式的MVC框架,所谓全栈式指的是Yii框架本身实现了web开发中所要用到的所有功能,比如MVC,ORM(DAO/ActiveRecord), 全球化(I18N/L10N), 缓存(caching), 基于
随机推荐
- linux shell中单引号、双引号、反引号、反斜杠的区别
- 五板斧封杀Windows操作系统默认共享
- 正则表达式学习教程之回溯引用backreference详解
- iOS应用UI开发中的字体和按钮控件使用指南
- 利用浏览器全屏api实现js全屏
- javascript遍历控件实例详细解析
- c# table 控件用法
- asp.net DataGridView导出到Excel的三个方法[亲测]
- Cocos2d-x的内存管理总结
- 基于JavaScript实现一定时间后去执行一个函数
- jQuery中(function(){})()执行顺序的理解
- 防止按钮在短时间内被多次点击的方法
- android 设置圆角图片实现代码
- 在openSUSE42.1下编译安装PHP7 的方法
- a2sd+状态下应用程序丢失的解决方法详细解析
- 详解C#读取Appconfig中自定义的节点
- Python实现简单文本字符串处理的方法
- 微信小程序页面间跳转传参方式总结
- 微信小程序自定义组件实现环形进度条
- 解决laravel5中auth用户登录其他页面获取不到登录信息的问题