最近一段时间准备拿PHP来做一个基于B/S架构的数据库管理系统(也就是通过网络

管理MySQL等数据库),所以一直很少有时间来博客上写一写,今天突然间做到了会话

相关的操作,于是就借助PHP的类来写一个会话相关的类,代码写的比较简单,但是已

经能满足我的要求了,写的代码如下:

<?php
/**
    会话操作类

**/

class session{

        //构造函数开启会话操作
        function __construct(){
                return session_start();
        }

        //设置会话变量
        function setSessionVar($sessionvarname,$value){
                $_SESSION["$sessionvarname"]="$value";
                return $this->issetVar($sessionvarname);
        }

        //得到指定会话变量的值
        function getSessionVar($sessionvarname){
                if(!$this->issetVar($sessionvarname)) return false; //没设置
                return $_SESSION[$sessionvarname];
        }

        //判断是否设置了指定变量
        function issetVar($sessionvarname){
                return isset($_SESSION[$sessionvarname]);
        }

        function destroy(){
                return session_destroy();
        }

        //取消整个会话
        function unsetTheWholeSession(){
                session_unset();
        }

        //取消指定的会话变量
        function unsetSession($sessionvarname){
                if(!$this->issetVar($sessionvarname)) return false;
                unset($_SESSION[$sessionvarname]);
                if($this->issetVar($sessionvarname)) return false;
                return true;
        }
}
?>


下面是一个实例:

<?php
include_once('session.inc.php'); //加载类
//创建会话操作对象
$s=new session();
//设置会话变量name的值为'huangyandong'
$s->setSessionVar('name','huangyandong');
//获取会话变量name的值,输出为huangyandong 
echo $s->getSessionVar('name');
//获取一个不存在的会话变量,返回false
var_dump($s->getSessionVar('ddd'));
//判断会话变量name是否存在
echo $s->issetVar('name');
//取消会话变量name
var_dump($s->unsetSession('name'));
//取消后再次判断,此时返回false
var_dump( $s->issetVar('name'));
$s->unsetTheWholeSession();
?>