一,组件注册
CWebApplication::registerCoreComponents()
protected function registerCoreComponents()
{
parent::registerCoreComponents();
$components=array(
‘session‘=>array(
‘class‘=>‘CHttpSession‘,
),
//...
);
$this->setComponents($components);
}二,使用
//session操作 $se = Yii::app()->session; //获得组件 //设置 $se[‘test‘]=‘my vlaue‘; //组件 $_SESSION[‘11‘] = ‘1111111111‘; //常规 //获取 echo ‘test:`‘.$se[‘test‘].‘`‘; echo ‘11:`‘.$_SESSION[‘11‘].‘`‘; //删除 $se->remove(‘11‘); //组件 unset($se[‘test‘]); //常规 //获取全部 $test_sessions = $se->toArray();//组件 $test_sessions = $_SESSION; //常规 print_r($test_sessions);exit();
三,源码
public function get($key,$defaultValue=null)
{
return isset($_SESSION[$key]) ? $_SESSION[$key] : $defaultValue;
}
public function remove($key)
{
if(isset($_SESSION[$key]))
{
$value=$_SESSION[$key];
unset($_SESSION[$key]);
return $value;
}
else
return null;
}
public function offsetGet($offset)
{
return isset($_SESSION[$offset]) ? $_SESSION[$offset] : null;
}
public function offsetSet($offset,$item)
{
$_SESSION[$offset]=$item;
}
public function toArray()
{
return $_SESSION;
}
public function destroy()
{
if(session_id()!==‘‘)
{
@session_unset();
@session_destroy();
}
}原文:http://liyongjiang.blog.51cto.com/5800344/1358002