> 移植于ThinkPHP5.0.4的session組件,詳情地址:[鏈接]([http://www.hmoore.net/manual/thinkphp5/126166](http://www.hmoore.net/manual/thinkphp5/126166))
## Session初始化
1. `application.ini`配置的參數自動初始化
```
;SESSION 前綴
session.prefix = 'ddh'
; 驅動方式 支持redis memcached,為空則不啟用驅動方式
session.type = ''
session.auto_start = true
;使用redis時候請配置redis 主機端口 密碼
;session.host = '127.0.0.1'
;session.port = 6379
;session.password => ''
```
2. 手動調用init方法進行初始化
```
Session::init([
'prefix' => 'module',
'type' => 'redis',
'auto_start' => true,
// redis主機
'host' => '127.0.0.1',
// redis端口
'port' => 6379,
// 密碼
'password' => '',
]);
```
> 更多session設置參數參考TP文檔
## 基本使用方法
賦值
```
// 賦值(當前作用域)
Session::set('name','thinkphp');
// 賦值think作用域
Session::set('name','thinkphp','think');
```
判斷是否存在
```
// 判斷(當前作用域)是否賦值
Session::has('name');
// 判斷think作用域下面是否賦值
Session::has('name','think');
```
取值,如果name的值不存在,返回`null`
```
// 取值(當前作用域)
Session::get('name');
// 取值think作用域
Session::get('name','think');
```
指定作用域
```
// 指定當前作用域
Session::prefix('think');
```
取值并刪除,值不存在,返回`Null`
```
// 取值并刪除
Session::pull('name');
```
清空
```
// 清除session(當前作用域)
Session::clear();
// 清除think作用域
Session::clear('think');
```
閃存數據,下次請求之前有效
```
// 設置session 并且在下一次請求之前有效
Session::flash('name','value');
```
提前清除當前請求有效的數據
```
// 清除當前請求有效的session
Session::flush();
```
## 二級數組
支持session的二維數組操作
```
// 賦值(當前作用域)
Session::set('name.item','thinkphp');
// 判斷(當前作用域)是否賦值
Session::has('name.item');
// 取值(當前作用域)
Session::get('name.item');
// 刪除(當前作用域)
Session::delete('name.item');
```
## 助手函數
> 系統沒有設置類似TP的該助手函數