竹笋

首页 » 问答 » 环境 » ThinkPHP5开发连载80tp5
TUhjnbcbe - 2023/5/16 20:51:00

文章讲解“杂项-上传”,本篇文章讲解“杂项-Session”。

可以直接使用think\facade\Session类操作Session。

1.Session初始化

Session会在第一次调用Session类的时候按照session.php配置的参数自动初始化:

如果我们使用上述的session配置参数的话,无需任何操作就可以直接调用Session类的相关方法。

1)session.php配置文件初始化session

新建Index控制器,并新建index方法,在方法中设置session并输出

预览:

2)调用init方法初始化session

修改Index控制器的index方法,调用init方法初始化session:

预览:

注意:1.如果你没有使用Session类进行Session操作的话,例如直接操作$_SESSION,必须使用上面的方式手动初始化或者直接调用session_start()方法进行session初始化。

2.设置参数

默认支持的session设置参数包括:

注意:1.如果做了session驱动扩展,可能有些参数不一定有效。

3.基础用法

1)赋值

在Index控制器中,新建valuation方法,并进行session赋值

注意:

赋值module作用域中module作用域(session前缀),在Index控制器的index方法中被初始化过,直接使用即可,如果没有,可以自行初始化。

默认的session前缀为think,在config/session.php文件中默认设置:

2)判断是否存在

修改Index控制器下的valuation方法:

预览:

3)取值

修改Index控制器下的valuation方法:

预览:

注意:1.如果不存在,取值结果返回null。

4)删除

修改Index控制器下的valuation方法:

预览:

5)指定作用域

修改Index控制器下的valuation方法:

预览:

6)取值并删除

修改Index控制器下的valuation方法:

预览:

注意:1.如果不存在,pull方法返回null。

7)清空

修改Index控制器下的valuation方法:

预览:

8)闪存数据,下次请求之前有效

①修改Index控制器下的valuation方法:

访问valuation方法,预览:

②在Index控制器中,新建test方法,并在方法中输出闪存数据

访问test方法,第一次访问,预览:

第二次访问,预览:

9)提前清除当前请求有效的数据

①Index控制器下的valuation方法不变,访问valuation方法

②修改Index控制器下的test方法,使用flush方法清除当前请求的有效数据

访问test方法,预览:

注意:1.flush清除当前请求有效数据,对flash闪存数据有效,其他数据无效。2.flush方法清除的是在当前请求之前设置的闪存数据,与flush在同一方法内设置的,不能同时清除。3.flush方法的清除原则,可以查看flush源码进行理解。

4.二维数组

支持session的二维数组操作。

在Index控制器中,新建arrSession方法:

预览:

5.助手函数

系统也提供了助手函数session完成相同的功能。

在Index控制器中,新建helperFun方法,使用助手函数session:

预览:

6.Session驱动

支持指定Session驱动,配置文件(config/session.php)如下:

注意:1.type=redis,表示使用redis作为session类型。2.目前内置支持使用redis、memcache和memcached作为session驱动类型。

ThinkPHP5连载为卓象程序员原创,转载请联系卓象程序员

1
查看完整版本: ThinkPHP5开发连载80tp5