在 Yii框架中使用session 的笔记:
首先,在Yii框架中,你不需要像标准PHP代码那样使用 session_start() ,
在Yii框架中, autoStart 属性缺省被设置为
true
,所以,
虽然没有使用 session_start() ,你仍然可以使用$_SESSION全局变量,但最好使用
Yii框架封装的 Yii::app->session :
设置session变量:
Yii::app()->session[' var ']='value';
使用: echo Yii::app()->session[' var '];
移除: unset(Yii::app()->session[' var ']);
更为复杂一点的使用时如何配置你的session
配置项可设在 protected/config/main.php的components中:
'session'=> array (
'autoStart'=>
false
(/true),
'sessionName'=>'Site Access',
'cookieMode'=>'only',
'savePath'='/path/to/new/directory',
),
将session保持在数据库的设置:
'session' =>
array
(
'class'=> 'system.web.CDbHttpSession',
'connectionID' => 'db',
'sessionTableName' =>'actual_table_name',
),
好,还有什么呢?对了,为了调试,有时需要知道当前用户的session ID,
该值就在
Yii::app()->session->sessionID
中。
最后,当用户退出登录(logout),你需要消除痕迹,可使用:
Yii::app()->session->clear() 移去所有session变量,然后,调用
首先,在Yii框架中,你不需要像标准PHP代码那样使用 session_start() ,
在Yii框架中, autoStart
虽然没有使用 session_start() ,你仍然可以使用$_SESSION全局变量,但最好使用
Yii框架封装的 Yii::app->session :
设置session变量:
Yii::app()->session[' var ']='value';
使用: echo Yii::app()->session[' var '];
移除: unset(Yii::app()->session[' var ']);
更为复杂一点的使用时如何配置你的session
配置项可设在 protected/config/main.php的components中:
'session'=> array (
),
将session保持在数据库的设置:
'session' =>
),
好,还有什么呢?对了,为了调试,有时需要知道当前用户的session ID,
该值就在
最后,当用户退出登录(logout),你需要消除痕迹,可使用:
Yii::app()->session->clear()
Yii::app()->session->destroy()
转载自: http://blog.sina.com.cn/s/blog_664c9f650100yqkt.html