PHP自己的框架session()使用(完善篇六)

1、PHP自己的框架session()

2、session类(SessionBase.php)

php 复制代码
<?php
class SessionBase
{
    /**
     * 设置session
     */
    public static function set($name, $data, $expire=600){
        $session_data = array();
        $session_data['data'] = $data;
        $session_data['expire'] = time()+$expire;
        $_SESSION[$name] = $session_data;
    }
    /**
     * 读取session
     */
    public static function get($name){
        if(isset($_SESSION[$name])){
            if($_SESSION[$name]['expire']>time()){
                return $_SESSION[$name]['data'];
            }else{
                self::clear($name);
            }
        }
        return false;
    }

    /**
     * 清除session
     * @param String $name session name
     */
    private static function clear($name){
        unset($_SESSION[$name]);
    }

}

3、封装session类function.php

php 复制代码
function session(){
    $num=func_num_args();
    $session=new SessionBase();
    if($num>=2){
        if($num==3){
            //三个参数
            $expire=func_get_arg(2);
        }else{
            //二个参数
            $expire=3600;
        }
        $session::set(func_get_arg(0),func_get_arg(1),$expire);
        return true;
    }else{
        //一个参数
        return   $session::get(func_get_arg(0));
    }
}

4、调用session(indexCrl.php)

php 复制代码
<?php
class indexCrl extends  CrlBase {
    public function index(){
        //设置session
        session('name','haha',60);
        //获取session
        var_dump(session('name'));
        //清空session
        session('name',null);
    }

}
相关推荐
西猫雷婶几秒前
python学opencv|读取图像(十四)BGR图像和HSV图像通道拆分
开发语言·python·opencv
鸿蒙自习室1 分钟前
鸿蒙UI开发——组件滤镜效果
开发语言·前端·javascript
黄名富4 分钟前
Redis 附加功能(二)— 自动过期、流水线与事务及Lua脚本
java·数据库·redis·lua
言、雲9 分钟前
从tryLock()源码来出发,解析Redisson的重试机制和看门狗机制
java·开发语言·数据库
汪洪墩38 分钟前
【Mars3d】设置backgroundImage、map.scene.skyBox、backgroundImage来回切换
开发语言·javascript·python·ecmascript·webgl·cesium
云空43 分钟前
《QT 5.14.1 搭建 opencv 环境全攻略》
开发语言·qt·opencv
Anna。。1 小时前
Java入门2-idea 第五章:IO流(java.io包中)
java·开发语言·intellij-idea
一个程序员_zhangzhen1 小时前
sqlserver新建用户并分配对视图的只读权限
数据库·sqlserver
zfj3211 小时前
学技术学英文:代码中的锁:悲观锁和乐观锁
数据库·乐观锁··悲观锁·竞态条件
吴冰_hogan1 小时前
MySQL InnoDB 存储引擎 Redo Log(重做日志)详解
数据库·oracle