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

}
相关推荐
Xeon_CC4 分钟前
用C++编写屏幕准星
开发语言·c++
孤存5229 分钟前
c语言动态内存管理
c语言·开发语言·算法
小王C语言13 分钟前
MySQL 内置函数:日期函数、字符串函数、数学函数、其他函数
数据库·mysql
冰暮流星22 分钟前
javascript之webstorage用法
开发语言·javascript·ecmascript
我一定会有钱25 分钟前
打造完美工作流:Git 配置”一次推送,三端同步”(Gitee/GitCode/GitHub)
开发语言·windows·vscode·搜索引擎·gitlab·github·visual studio code
matlab代码40 分钟前
基于matlab肤色人脸标记检测系统 GUI界面【源码53期】
开发语言·matlab·人脸标记
KhalilRuan1 小时前
UnityCsReference——笔记
java·开发语言·笔记
电子云与长程纠缠1 小时前
UE5 Lyra PocketWorld进行3D内容UI预览 - 上
开发语言·学习·3d·ue5·游戏引擎
ClouGence1 小时前
当 AI 开始直接操作数据库,传统数据库管理工具还有必要吗?
数据库·后端·agent
码农大叔的博客1 小时前
golang示例:for九九乘法表
开发语言·算法·golang