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);
    }

}
相关推荐
wefg113 分钟前
【Redis】初识 Redis
数据库·redis·缓存
_upupup15 分钟前
异常(C++)
java·开发语言·jvm
霸道流氓气质29 分钟前
ComfyUI 图像生成工作流完全指南:从节点编排到Java生产级图像生产实战
java·开发语言·人工智能
ShyanZh1 小时前
【Python3基础】13-Python 常用设计模式
开发语言·python·设计模式
m0_380743871 小时前
Qt侧边栏布局的实现示例
开发语言·c++
zh_xuan1 小时前
c++ 23 std::out_ptr用法
开发语言·c++23·out_ptr
陆卿之2 小时前
Java对接DeepSeek
java·开发语言·人工智能
庄园特聘拆椅狂魔2 小时前
Java 后端转全栈的第一课:从前端项目搭建到技术选
java·开发语言·前端
weixin_307779132 小时前
C++代码实现MATLAB中的pade函数功能
开发语言·c++·算法·matlab
hacker_LeeFei3 小时前
Windows 下配置 Redis 8.10.2 开机自启:一次踩坑全记录
数据库·windows·redis