开启一个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。