yii操作session实例简介

6年以前  |  阅读数:889 次  |  编程语言:PHP 

本文简述了Yii框架中使用session的方法,具体步骤如下:

一、与标准php代码的区别:

在Yii框架中,你不需要像标准PHP代码那样使用session_start(),
在Yii框架中,autoStart 属性缺省被设置为true,所以,
虽然没有使用session_start(),你仍然可以使用$_SESSION全局变量,但最好使用Yii框架封装的Yii::app->session

二、session变量的使用:

设置session:


    Yii::app()->session['var']='value';

使用session:


    echo Yii::app()->session['var'];

移除session:


    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() 

移去存储在服务器端的session数据。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8