PHP实现session对象封装_php session操作类

2018-01-18     浏览次数:

作为一个网站开发,在开发的过程中会经常用到session,用来存储一些数据,接下来吾爱编程主要介绍了php实现的SESSION类,包括session的创建、初始化、读取、写入与销毁等常用的操作,需要的朋友可以参考下:

<?php
/**
 * 扩展Session类(简单封装)
 * @author 吾爱编程
 * @URL www.itbiancheng.com
 */
class Session {
    /**
     * 初始化
     */
    static function _init(){
        ini_set('session.auto_start', 0);
        //Session::start();
    }
    /**
     * 启动Session
     */
    static function start() {
        session_start();
    }
    /**
     * 设置Session
     * @param $name Session名称
     * @param $value 值
     * @param $time 超时时间(秒)
     */
    public static function set($name,$value,$time){
        if(empty($time)){
            $time = 1800; //默认值
        }
        $_SESSION[$name] = $value;
        $_SESSION[$name.'_Expires'] = time() + $time;
    }
    /**
     * 获取Session值
     * @param $name Session名称
     */
    public static function get($name){
        //检查Session是否已过期
        if(isset($_SESSION[$name.'_Expires']) && $_SESSION[$name.'_Expires']>time()){
            return $_SESSION[$name];
        }else{
            Session::clear($name);
            return null;
        }
    }
    /**
     * 设置Session Domain
     *
     * @param $sessionDomain 域
     * @return string
     */
    static function setDomain($sessionDomain = null) {
        $return = ini_get('session.cookie_domain');
        if(!empty($sessionDomain)) {
            ini_set('session.cookie_domain', $sessionDomain);//跨域访问Session
         }
        return $return;
    }
    /**
     * 清除某一Session值
     * @param $name Session名称
     */
    static function clear($name){
        unset($_SESSION[$name]);
        unset($_SESSION[$name.'_Expires']);
    }
    /**
     * 重置销毁Session
     */
    static function destroy(){
        unset($_SESSION);
        session_destroy();
    }
    /**
     * 获取或设置Session id
     */
    static function sessionid($id=null){
        return session_id($id);
    }
}
?>
*转载请注明出处,更多资料尽在 吾爱编程
返回吾爱编程首页