企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## `Session` 组件 Session(会话)组件可以让你保持一个用户的 "状态" ,并跟踪他在浏览你的网站时的活动。 | 类 | 调用 | | --- | --- | --- | | mix\http\Session | | 门面类 | 调用 | | --- | --- | | mix\facades\Session | Session:: | >[danger] Session 组件暂时只支持 Redis,使用前需先安装 Redis 数据库。 ## 组件配置 App配置文件中,该组件的默认配置如下: [>> 到 GitHub 查看默认配置 <<](https://github.com/mix-php/mix/blob/v1/apps/httpd/config/http_permanent.php#L118) ## 使用范例 用户登陆控制器: ~~~ // 登陆方法 public function actionLogin() { /* 验证账号密码成功后 */ // 创建 sessionId Session::createSessionId(); // 保存会话信息 $userinfo = [ 'uid' => 1088, 'openid' => 'yZmFiZDc5MjIzZDMz', 'username' => '小明', ]; Session::set('userinfo', $userinfo); // 响应 return $this->render('login', ['message' => '新增成功']); } ~~~ 效验Session: 在前置中间件中校验。 ~~~ // 前置中间件的 handle 方法 public function handle($callable, \Closure $next) { // 添加中间件执行代码 $userinfo = Session::get('userinfo'); if (empty($userinfo)) { // 跳转到首页 return Response::redirect('/'); } // 执行下一个中间件 return $next(); } ~~~ ## `set` 方法 变量赋值。 ~~~ Session::set('name', '小华'); ~~~ ## `get` 方法 获取变量的值。 ~~~ Session::get('name'); ~~~ >[info] name不存在时返回null。 ## `has` 方法 判断变量是否存在。 ~~~ Session::has('name'); ~~~ ## `delete` 方法 删除变量。 ~~~ Session::delete('name'); ~~~ ## `clear` 方法 清空全部变量。 ~~~ Session::clear(); ~~~ ## `getSessionId` 方法 获取SessionId。 ~~~ Session::getSessionId(); ~~~