在 Yii框架中使用session 的笔记:

首先,在Yii框架中,你不需要像标准PHP代码那样使用session_start(),

在Yii框架中,autoStart 属性缺省被设置为true,所以,
虽然没有使用session_start(),你仍然可以使用$_SESSION全局变量,但最好使用
Yii框架封装的Yii::app->session:

设置session变量:

[php] 
  1. Yii::app()->session['var']='value';  
[php] 
  1. 使用:echo Yii::app()->session['var'];  
  2. 移除: unset(Yii::app()->session['var']);  
[php] 
  1.    
[php] 
  1. 配置session  
  2. 配置项可设在 protected/config/main.php的components中:  
[php] 
  1. 'session'=>array(  
  2.    'autoStart'=>false(/true),  
  3.    'sessionName'=>'Site Access',  
  4.    'cookieMode'=>'only',  
  5.    'savePath'='/path/to/new/directory',  
  6. ),  

 

将session保持在数据库的设置:

[php] 
  1. 'session' => array (  
  2.     'class' => 'system.web.CDbHttpSession',  
  3.     'connectionID' => 'db',  
  4.     'sessionTableName' => 'actual_table_name',  
  5. ),  

 

获取sessionID

 Yii::app()->session->sessionID 中。

最后,当用户退出登录(logout),你需要消除痕迹,可使用:

Yii::app()->session->clear() 移去所有session变量,然后,调用
Yii::app()->session->destroy() 移去存储在服务器端的数据。