天天看点

Thinkphp的session操作Session 的使用

Session 的配置

可以在 config.php(可以是应用公用的 config.php 或模块的 config.php)中对 Session 进行配置,例如:

<?php

return array(

//'配置项'=>'配置值'

'SESSION_AUTO_START' =>false,//系统不自动启动Session

'SESSION_OPTIONS'=>array(

'use_trans_sid'=>1,

'expire'=>3600,//设置过期时间session.gc_maxlifetime的值为1小时

)

);

其中默认情况下,初始化之后系统会自动启动 Session,也就是 session.auto_start = 1。可以取消 Session 的自动启动,因为虽然如果开启了此选项,每次使用 Session 的时候无需调用 session_start(),但是由于不能将对象放入 Session,因为类定义必须在启动 Session 之前加载。闭自动启动后可以项目的公共文件或者在控制器中通过手动调用 session_start() 或者 session('[start]') 启动 session。

Thinkphp的session操作Session 的使用

系统还提供了 Session 管理和操作的完善支持,全部操作可以通过一个内置的 session 函数完成,该函数可以完成 Session 的设置、获取、删除和管理操作。

如果 session 方法的第一个参数传入数组则表示进行 session 初始化设置,上面通过在 config.php 中进行的配置用内置的 session 函数可以达到相同的效果:

session(array('use_trans_sid'=>1,'expire'=>3600));               

复制

注意:使用该种方式设置 Session 参数时,需要把该方法写在 session_start() 函数之前(如果 Session 没有设置为自动开启)。

Session 的使用

系统提供了Session 管理和操作的完善支持,全部操作可以通过一个内置的 session 函数完成,该函数可以完成Session的设置、获取、删除和管理操作。

session 函数位于 \ThinkPHP\Conmon\functions.php 内,源码:

Thinkphp的session操作Session 的使用