Yii框架 $_SESSION 为什么看不到 Yii::app()->session 设置的值?

 我来答
我爱上那女孩
2014-09-26 · TA获得超过466个赞
知道小有建树答主
回答量:177
采纳率:0%
帮助的人:132万
展开全部

是可以看到的。

1、Yii设置的session,在$_SESSION里是能够读取的。

2、但是反过来,$_SESSION['test']设置了数值,使用Yii::app()->session[‘test’]是读取不出来的,具体原因是Yii框架出于安全考虑,而做的如此设计。

结果如下图:

追问
我想知道原理 在哪个文件的代码里面?
追答
原理么,这个我就帮不了你了,你只能自己看Yii框架源码了,
源码地址:http://www.yiichina.com/api/1.1/CHttpSession

不过我大致的看法是:

当你使用Yii::app()->session[‘test’]注册session的时候,Yii框架会实例化相应的类(应该是HttpSession),在该类中不仅实现了Yii::app()->session[‘test’]的注册,还实现了传统的$_SESSION的注册.

但是反过来,在传统$_SESSION里注册了,由于并未注册实例化的app类中的session变量,因此获取不到。

还有你的问题我已经如实回答,你问“
Yii框架 $_SESSION 为什么看不到 Yii::app()->session 设置的值?
”而事实是:是可以看得到的。

如果你想问原理之类的,你大可不必来百度知道,去刚才给你的网址,那里Yii框架高手如云。不过一般的原则是,大家懒得理你类似原理的问题....因为想知道原理就自己看源码.........祝你好运~~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式