> 移植于ThinkPHP5.0.4的session组件,详情地址:[链接]([https://www.kancloud.cn/manual/thinkphp5/126166](https://www.kancloud.cn/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的该助手函数