💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
###*注意事项* * 本session类是一个封装的session操作类,不是处理类 * 处理类暂时只有file,且所有处理操作由处理类完成 * 每次使用时注意init().或者你能保证每次使用完后init(); * 当然,你也可以直接使用原生的session系列函数. * 只是个beta -2.0(注意是负)版本,出了问题概不负责 ###*配置* * * * * * config目录下session.config中配置 ~~~ session_config = [ //处理器 'handler' => 'File', //前缀 'prefix' => 'sess_', //session名称 'name' => 'CORE_SESSION', //驱动配置 'handlers_config' => [ 'File' => [ //储存位置 'path' => session储存位置默认为/storage/session //扩展名 'extension' => '.session', ], ]; ~~~ ###*方法* * * * * * **1. 获得** \msqphp\core\session\Session::getInstance(); * * * * * **2. session指针操作** ~~~ //初始化操作 $session->init() : self //设置键 $session->key(string $key) : self //设置键前缀 $session->prefix(string $prefix) : self //设置键值 $session->value( $value) : self ~~~ * * * * * **3. session指针对应操作方法** ~~~ //是否存在 $session->exists() : bool //得到对应值 $session->get() : miexd //赋值 $session->set() : void //删除 $session->delete() : void ~~~ * * * * * **4. session通用方法** ~~~ //清空session $session->clear() : void; //开启session(init后则不必调用) $session->start() : void; //关闭session $session->close() : void; ~~~ ###*使用* * * * * * ~~~ /** * @example */ //初始化,设置操作键为 test $session = $this->session->init()->key('test'); //如果session中test键存在 if ($session->exists()) { //得到对应信息 $info = $session->get(); } else { //不存在,获得信息,并保存 $info = getInfo() //代码 $session->value($info)->set(); } ~~~ * 例2: ~~~ /** * @example 初始化,设置操作键为 test 值为test,并设置 */ $session = $this->session->init()->key('test')->value('test')->set(); ~~~ ###*非控制器下使用* * * * * * **\msqphp\core\session\Session::getInstance();** 获得本对象,使用方法同上; ###*扩展* * * * * * 1. 在library/msqphp/framework/core/session/handlers/下创建自定义session处理类 1. 命名空间为msqphp\core\session\handlers.(不需要在composer下注册) 1. 继承\SessionHandlerInterface(函数参数无法标量,除构造函数) 1. 构造函数接受一个配置数组,参数在session配置中配置 1. 按照session类正常使用方法使用 ~~~ //例 <?php declare(strict_types = 1); /** * SessionHandlerInterface 例, 实际上直接实现函数\SessionHandlerInterface * 但是由于个坑, php 7.0 函数标量无法注册, 请按无处理 */ Interface SessionHandlerInterface { public function __construct(array $config); public function close () : bool; public function destroy ( string $session_id ) : bool; public function gc ( int $maxlifetime ) : bool; public function open ( string $save_path , string $name ) : bool; public function read ( string $session_id ) : string; public function write ( string $session_id , string $session_data ) : bool; } ~~~