SESSION

创建于 2022-07-25 / 最近更新于 2022-07-25 / 1034
字体: [默认] [大] [更大]

基础

PESCMS系列软件使用文件session库:duncan3dc/sessions。底层调用代码位于\Core\Func\CoreFunc.php

/**
     * 调用session类库
     * @return \duncan3dc\Sessions\SessionInstance
     */
    public final static function session($id = ''){
        if(empty(self::$session)){
            $sessionid = self::loadConfig('SESSION_ID');
            self::$session = new \duncan3dc\Sessions\SessionInstance($sessionid, null, $id);
        }
        return self::$session;
    }

要调用session方法很简单,直接在需要的地方声明如下代码即可:

\Core\Func\CoreFunc::session()->get('SESSION_NAME');

控制器调用

在控制器中,可以通过$this指向调用。如下代码:

$this->session()->get('SESSION_NAME');

模型调用

在控制器中,可以通过self::指向调用。如下代码:

self::session()->get('SESSION_NAME');

模板调用

在模板中,即可以用$this又可以用self::,更可用\Core\Func\CoreFunc::调用session方法。

PESCMS系列软件本身比较宽松,您习惯调用即可。
但是在模板中用$this调用session,可能会在某种特殊条件下报错。

读取SESSION

读取session直接使用get方法。

$this->session()->get('test'); //将返回预设名为test的值

写入SESSION

写入session直接使用set方法。

$this->session()->set("user", "Mark");

echo $this->session()->get("user"); # "Mark"

删除SESSION

删除session可以用delete()方法

单个删除代码如下:

$this->session()->delete("user");

也可以多个删除

$this->session()->delete("user", "user1", "user2");

也可以删除整个会话的session

$this->session()->destroy()

其他操作

篇幅有限,若您需要更多功能,可以查阅SESSION库的文档:https://duncan3dc.github.io/sessions/usage/getting-started/

0 人点赞过