我试图使用以下代码在Yii中设置一些会话变量:
$session=new CHttpSession;
$session->open() ;
$session->setSessionName('My Session') ;
$session['sleep'] = 0 ;
$session['attempts'] = 0 ;
$session->writeSession('sleep','0') ;
$session['ip'] = $this->get_ip_address() ; $session->close() ; var_dump($session,$session['ip']) ;
Run Code Online (Sandbox Code Playgroud)
但是,我无法设置上面的会话变量,转储具有以下结果:
object(CHttpSession)#17 (5) { ["autoStart"]=> bool(true) ["behaviors"]=> array(0) { } ["_initialized":"CApplicationComponent":private]=> bool(false) ["_e":"CComponent":private]=> NULL ["_m":"CComponent":private]=> NULL } string(3) "::1"
Run Code Online (Sandbox Code Playgroud)
它将$ session和$ session ['ip']视为两个完全不同的变量.有人可以帮我解决这个问题吗?
Ska*_*tox 27
我以另一种方式使用Yii下的会话,我使用app()变量下的全局会话变量.所以你可以存储这样的值:
Yii::app()->session['sleep'] = "value";
Run Code Online (Sandbox Code Playgroud)
你可以得到这样的价值观:
$sleep = Yii::app()->session['sleep'];
Run Code Online (Sandbox Code Playgroud)
最后你可以像这样删除它:
unset(Yii::app()->session['sleep']);
Run Code Online (Sandbox Code Playgroud)
这样您就可以在代码中的任何位置访问它们.我建议你阅读这篇文章:http://www.larryullman.com/2011/05/03/using-sessions-with-the-yii-framework/它拥有你需要的所有信息.
| 归档时间: |
|
| 查看次数: |
23683 次 |
| 最近记录: |