# 配置
### 组态
由于HTTP驱动的应用程序是无状态的,因此会话提供了一种在请求之间存储有关用户信息的方法。October附带了各种会话后端,可通过干净的统一API使用这些后端。开箱即[用地](http://redis.io/)包括对流行的后端的支持,例如[Memcached](http://memcached.org/),[Redis](http://redis.io/)和数据库。
会话配置存储在中`config/session.php`。确保查看此文件中提供的详细记录的选项。默认情况下,十月配置为使用`file`会话驱动程序,它将对大多数应用程序都适用。
* `file`\-会话存储在中`storage/framework/sessions`。
* `cookie`\-会话存储在安全的加密cookie中。
* `database`\-会话存储在应用程序使用的数据库中。
* `memcached`/`redis`\-会话存储在这些快速,基于缓存的商店之一。
* `array`\-会话存储在一个简单的PHP数组中,并且不会在请求中保留。
> **注意:**阵列驱动程序通常用于运行单元测试,以防止会话数据持久化。
#### 预留键
October在`flash`内部使用会话密钥,因此您不应使用该名称在会话中添加项目。
### [](https://octobercms.com/docs/services/session#session-usage)会话使用
#### 在会话中存储数据
使用`Session`外观,您可以调用各种函数来与基础数据进行交互。例如,该`put`方法将新数据存储在会话中:
~~~
Session::put('key', 'value');
~~~
#### 推送到数组会话值
该`push`方法可用于将新值推送到作为数组的会话值上。例如,如果`user.teams`键包含团队名称数组,则可以像这样将新值推送到该数组:
~~~
Session::push('user.teams', 'developers');
~~~
#### 从会话中检索数据
从会话中检索值时,还可以将默认值作为方法的第二个参数传递`get`。如果会话中不存在指定的密钥,则将返回此默认值。如果将a`Closure`作为默认值传递给该`get`方法,`Closure`则将执行并返回其结果:
~~~
$value = Session::get('key');
$value = Session::get('key', 'default');
$value = Session::get('key', function() { return 'default'; });
~~~
#### 从会话中检索所有数据
如果您想从会话中检索所有数据,则可以使用以下`all`方法:
~~~
$data = Session::all();
~~~
#### 检索数据却忘记了
该`pull`方法将从会话中检索并删除一个项目:
~~~
$value = Session::pull('key', 'default');
~~~
#### 确定会话中是否存在项目
该`has`方法可以用于检查会话中是否存在项目。`true`如果该项存在,则此方法将返回:
~~~
if (Session::has('users')) {
//
}
~~~
#### 从会话中删除数据
该`forget`方法将从会话中删除一条数据。如果要从会话中删除所有数据,可以使用以下`flush`方法:
~~~
Session::forget('key');
Session::flush();
~~~
#### 重新生成会话ID
如果您需要重新生成会话ID,则可以使用以下`regenerate`方法:
~~~
Session::regenerate();
~~~
### [](https://octobercms.com/docs/services/session#flash-data)闪存数据
有时您可能希望仅在下一个请求中将项目存储在会话中。您可以使用该`Session::flash`方法进行操作。使用此方法存储在会话中的数据仅在后续HTTP请求期间可用,然后将被删除。Flash数据主要用于短暂的状态消息:
~~~
Session::flash('key', 'value');
~~~
如果您需要保留闪存数据以进行更多请求,则可以使用该`reflash`方法,该方法将保留所有闪存数据以用于其他请求。如果只需要保留特定的闪存数据,则可以使用以下`keep`方法:
~~~
Session::reflash();
Session::keep(['username', 'email']);
~~~
- 基本说明
- 基本操作
- October cms 安装
- 后台控制器路径
- 图标
- 获取安装网上的插件/主题
- 插件构造器使用
- 定时任务
- October后台控制器
- vscode编辑器
- ajax操作
- 使用
- ajax更新组件
- ajax属性API
- JavaScript API
- ajax综合使用
- 主题
- 多语言主题
- 安装市场主题
- 主题程序处理
- 主题
- 页面
- 部件
- 布局
- 内容
- 组件
- 媒体
- 主题表单操作
- 表单使用
- 表单后端程序处理
- 插件
- 自定义插件
- 插件说明
- 插件导航条
- 插件数据库设置
- 插件的设置管理
- 插件的配置文件config
- 组件
- app服务
- app容器
- 扩展行为
- 缓存
- Collection类
- Lazy Collections
- Collection方法
- 助手函数
- 数组助手函数
- 路径助手函数
- 玄乐助手函数
- 其他助手函数
- 错误与记录
- 事件处理
- HTML页面
- 文件与目录操作
- 散列和加密
- 邮件
- 邮件内容
- 邮件发送
- 分页
- 模板解析器
- 动态解析器语法
- 队列消息
- 请求与输入
- 响应
- 视图
- 路由器
- 配置
- 验证操作
- 处理错误消息
- 错误消息与视图
- 可用的验证规则
- 有条件的验证规则
- 验证数组
- 错误消息
- 自定义验证规则
- 模型操作
- 定义模型与其属性
- 检索模型
- 插入与更新
- 删除模型
- 查询范围
- 事件操作
- 关联操作
- 定义关系
- 关系类型
- 多肽关系
- 关系查询
- 渴望加载
- 插入模型
- 数据库操作
- 基本用法
- 数据表结构
- 查询连贯操作
- 结果检索
- select子句
- 插入更新
- where子句
- 排序,分组,限制和偏移
- 文件附件
- Collection操作
- 属性操作
- 系列化json
- 数据库属性
- 数据库行为
- 控制器
- 后台控制器定义
- 后台页面
- 后台组件
- 后台表单
- 表单组件
- 表单视图
- 表单行为
- 后台列表
- 列表行为
- 列表过滤器
- 可用列类型
- 关系行为
- 关系行为类型
- 扩展关系行为
- 列表排序操作
- 导入导出操作
- 用于与权限
- corlate模板修改
- 修改顶部导航
- laravel问题
- 控制器不存在
- 控制器
- 路由组
- laravel笔记
- laravel 安装
- 伪静态配置
- 依赖注入 & 控制器
- 中间件
- 路由文件
- 视图