yii 操作session

首先,在Yii框架中,你不需要像標準PHP代碼那樣使用session_start(),
在Yii框架中,autoStart屬性缺省被設置爲true,所以,
雖然沒有使用session_start(),你仍然可以使用$_SESSION全局變量,但最好使用
Yii框架封裝的Yii::app->session:

Yii::app()->session['var']='value';         //設置session變量
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::app()->session->destroy() 移去存儲在服務器端的數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章