Yii cookie session 操作

来源:互联网 发布:阿里云 ecs 是iaas 编辑:程序博客网 时间:2024/05/19 11:44

设置cookie:


    $cookie = new CHttpCookie('mycookie','this is my cookie');    $cookie->expire = time()+60*60*24*30;  //有限期30天    Yii::app()->request->cookies['mycookie']=$cookie;

读取cookie:

    $cookie = Yii::app()->request->getCookies();    echo $cookie['mycookie']->value;

销毁cookie:

    $cookie = Yii::app()->request->getCookies();    unset($cookie[$name]);

首先,在Yii框架中,你不需要像标准PHP代码那样使用session_start(),在Yii框架中,autoStart 属性缺省被设置为true,所以,虽然没有使用session_start(),你仍然可以使用$_SESSION全局变量,但最好使用Yii框架封装的Yii::app->session:设置session变量:Yii::app()->session['var']='value';使用: echo Yii::app()->session['var'];移除: 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() 移去存储在服务器端的数据。


0 0
原创粉丝点击