文档/容器/服务/Session
会话
在 HLEB2 框架中,用户会话机制由 Session 服务提供—这是 PHP 会话管理函数的一个简单封装。
使用 Session 在控制器中(以及所有继承自 Hleb\Base\Container 的类)的示例,例如从会话中获取值:
use Hleb\Reference\SessionInterface;
$value = $this->container->get(SessionInterface::class)->get('session_name');
$value = $this->container->session()->get('session_name');
在应用程序代码中访问会话的示例:
use Hleb\Static\Container;
use Hleb\Reference\SessionInterface;
$value = Container::get(SessionInterface::class)->get('session_name');
use Hleb\Static\Session;
$value = Session::get('session_name');
通过 依赖注入 ,也可以通过接口 Hleb\Reference\Interface\Session 获取 Session 对象。
为简化示例,以下内容将仅包括通过 Hleb\Static\Session 进行访问。
在 Session 服务的标准实现中,其方法使用全局变量 $_SESSION 进行相应处理。
#get()
get() 方法按参数名检索会话数据。
use Hleb\Static\Session;
$value = Session::get('session_name');
#set()
set() 方法允许按名称分配会话数据。
use Hleb\Static\Session;
Session::set('session_name', 'value');
#delete()
delete() 方法按名称删除会话数据。
#clear()
clear() 方法清除所有会话数据。
#all()
all() 方法返回包含所有会话数据的数组。
#getSessionId()
getSessionId() 方法返回当前会话标识符。
会话标识符可以在 /config/system.php 文件中的 'session.name' 配置项中修改,初始值为 'PHPSESSID'。
#异步模式
在异步使用框架时,Session 服务的方法以类似方式工作,但采用不同的设置和读取机制。
← DB
Cookies →
页面翻译:chatgpt 4-o