本文簡述了Yii框架中使用session的方法,具體步驟如下:
一、與標准php代碼的區別:
在Yii框架中,你不需要像標准PHP代碼那樣使用session_start(),
在Yii框架中,autoStart 屬性缺省被設置為true,所以,
雖然沒有使用session_start(),你仍然可以使用$_SESSION全局變量,但最好使用Yii框架封裝的Yii::app->session
二、session變量的使用:
設置session:
Yii::app()->session['var']='value';
使用session:
echo Yii::app()->session['var'];
移除session:
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()
移去存儲在服務器端的session數據。
你首先要在main.php中設置session timeout,'sessionTimeoutSeconds'=>300,然後在yii::app()->user->setState('userSessionTimeout',time()+Yii::app()->params['sessionTimeoutSeconds']);頁面進行調用。
希望可以幫到你
session不是直接使用就可以了嗎?