欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Yii分析12:Yii核心web组件之会话类CHttpSession

程序员文章站 2022-04-29 19:49:53
...

CHttpSession提供session级的数据管理和配置,实例化后可以像数组一样存取session值:

  $session=new CHttpSession;
  $session->open();
  $value1=$session['name1'];  // get session variable 'name1'
  $value2=$session['name2'];  // get session variable 'name2'
值得注意的是CHttpSession有两个子类:CcacheHttpSession和CdbHttpSession,可以实现使用缓存或者数据库来存储session数据,而不使用PHP原生的session存储。

CcacheHttpSession实现了用缓存作为存储的session组件,缓存可以是Icache接口实现的任何缓存类型,需要注意的是缓存的易失性,数据很有可能在某个时刻被清空,因此,必须确保该组件使用的缓存的稳定性。

CdbHttpSession实现了用数据库作为存储的session组件,如果不指定connectionID,则使用本地的SQLite数据库,建议预先建好数据库,并且在expire字段上加索引,并且设置配置项autoCreateSessionTable为false。