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

}
相关推荐
南棱笑笑生1 小时前
20251202给荣品RD-RK3588-MID开发板的Android13启用黑夜模式
数据库
2501_939909051 小时前
MySQL 数据库管理
数据库·mysql
山水无间道1 小时前
redis的rdb文件迁移
数据库·redis·缓存
笃行客从不躺平1 小时前
认识 Java 中的锁升级机制
java·开发语言
陈文锦丫1 小时前
Redis原理篇
数据库·redis·缓存
weixin_307779131 小时前
Jenkins Branch API插件详解:多分支项目管理的核心引擎
java·运维·开发语言·架构·jenkins
2401_865854881 小时前
云服务器的IP是干嘛的?有什么作用?
服务器·tcp/ip·php
@木辛梓1 小时前
结构体 结构体c++
开发语言·c++
小股虫1 小时前
消息中间件关键技术、设计原理与实现架构总纲
java·开发语言·架构
xuanloyer1 小时前
oracle从入门到精通--oracle基础
数据库·oracle