php session类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php session类相关的知识,希望对你有一定的参考价值。

<?php
error_reporting(E_ERROR);
class SessionDeal{
    private $database;
    /*
     session初始化函数
     @param database 数据库对象
     @return bool 操作成功返回true,失败返回false
     */
    function open($database){
        $this->database = $database;
        echo "open".PHP_EOL;
        return true;
    }
    /*
     写入session
     @param id sessionID
     @param val session值
     @param expire 超时时间 单位:秒
     */
    function write($id,$val,$expire){
        echo "write".PHP_EOL;
        return true;
    }
    /*
     获取session值
     @param id sessionID
     @return val session值
     */
    function read($id){
        echo "read".PHP_EOL;
        return $val;
    }
    /*
     销毁session(删除数据库中的session)
     @param id sessionID
     */
    function destroy($id){
        echo "destroy".PHP_EOL;
        return true;
    }
    /*
     session关闭函数(相当于析构函数,可以做数据库关闭操作)
     */
    function close(){
        echo "close".PHP_EOL;
        return true;
    }
    /*
     垃圾回收(不定期销毁过期session)
     */
    function gc(){
        echo "gc";
    }
}
$handler = new SessionDeal();
session_set_save_handler(
        array($handler, ‘open‘),
        array($handler, ‘close‘),
        array($handler, ‘read‘),
        array($handler, ‘write‘),
        array($handler, ‘destroy‘),
        array($handler, ‘gc‘)
    );
// 下面这行代码可以防止使用对象作为会话保存管理器时可能引发的非预期行为
register_shutdown_function(‘session_write_close‘);
session_start();
$_SESSION[‘name‘]  =  ‘value‘;
$ret = $_SESSION[‘name‘];
echo $ret.PHP_EOL;
// 现在可以使用 $_SESSION 保存以及获取数据了

以上是关于php session类的主要内容,如果未能解决你的问题,请参考以下文章

使用 json rereiver php mysql 在片段中填充列表视图

PHP PHP5 Session Wraper类

运行/调试你的PHP代码

PHP 带有加密cookie的PHP Session类

php session类

为啥我不能将 PHP 类实例存储为 SESSION 变量