# 配置
### 組態
由于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 安裝
- 偽靜態配置
- 依賴注入 & 控制器
- 中間件
- 路由文件
- 視圖