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

}
相关推荐
数智化管理手记2 小时前
精益生产中的TPM管理是什么?一文破解设备零故障的密码
服务器·网络·数据库·低代码·制造·源代码管理·精益工程
Xudde.2 小时前
班级作业笔记报告0x04
笔记·学习·安全·web安全·php
翊谦3 小时前
Java Agent开发 Milvus 向量数据库安装
java·数据库·milvus
晓晓hh3 小时前
JavaSE学习——迭代器
java·开发语言·学习
Laurence3 小时前
C++ 引入第三方库(一):直接引入源文件
开发语言·c++·第三方库·添加·添加库·添加包·源文件
kyriewen113 小时前
你点的“刷新”是假刷新?前端路由的瞒天过海术
开发语言·前端·javascript·ecmascript·html5
014-code3 小时前
String.intern() 到底干了什么
java·开发语言·面试
難釋懷4 小时前
OpenResty实现Redis查询
数据库·redis·openresty
eastyuxiao4 小时前
如何在不同的机器上运行多个OpenClaw实例?
人工智能·git·架构·github·php
421!4 小时前
GPIO工作原理以及核心
开发语言·单片机·嵌入式硬件·学习