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 分钟前
Python 赋值运算符详解 | 从 = 到 +=,一张记账单讲清复合赋值
开发语言·python
布莱克6059 分钟前
QtWidgets 与 QML:两大 UI 开发框架的全面对比
开发语言·c++·qt·ui·架构
张伯毅19 分钟前
External Shuffle Service(spark3_shuffle):原理、配置与排障
java·开发语言·spark·yarn
我不会插花弄玉20 分钟前
9. 表的内连和外连【由浅入深-MySQL】
android·数据库·mysql
我的愿望是成为富婆27 分钟前
2027校招准备:AI能生成SQL,数据分析该学到什么程度?
人工智能·sql·数据分析
Techblog of HaoWANG36 分钟前
Ubuntu 下将 Ollama 服务配置为监听 0.0.0.0:11434 完整实践
linux·数据库·ubuntu·ollama
geovindu39 分钟前
rust: Template Method Pattern
开发语言·后端·设计模式·rust·行为模式·模板方法模
似水流年QC41 分钟前
LangChain 入门与实战
服务器·数据库·langchain
BingoGo1 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
后端·php