開啓一個session代碼如下:
$session=new CHttpSession;
$session->open();
$value=$session['name']; // 獲取 session 變量 $session['name] 中的值
在yii中CHttpSession有兩個子類,分別是:CcacheHttpSession和CdbHttpSession,可以實現使用緩存或者數據庫來存儲session數據,而不使用PHP原生的session存儲。
CcacheHttpSession實現了用緩存作爲存儲的session組件,緩存可以是Icache接口實現的任何緩存類型,需要注意的是緩存的易失性,數據很有可能在某個時刻被清空,因此,必須確保該組件使用的緩存的穩定性。
CdbHttpSession實現了用數據庫作爲存儲的session組件,如果不指定connectionID,則使用本地的SQLite數據庫,建議預先建好數據庫,並且在expire字段上加索引,並且設置配置項autoCreateSessionTable爲false。