1、Session
系统提供了Sesssion管理和操作的完善支持,只需要通过session()函数完成,改函数可以完成Session的设置、获取、删除和管理操作
一般来说,在ThinkPHP中不需要手动初始化session,系统会自动初始化
id session_id值
name session_name值
path session_save_path值
prefix session 本地化空间前缀
expire session.gc_maxlifetime设置值
domain session.cookie_domain设置值
user_cookies session.user_cookes设置值
user_trans_sid session.use_sid 设置值
type session 处理类型,支持驱动扩展
//手工初始化
session(array('name'=>'session_id' , 'expire'=>3600));
//配置SESSION初始化
SESSION_OPTIONS=>array(
'name'=>'session_id'
'expire'=>3600
)
默认情况下,初始化之后系统会自动启动session,如果不希望系统自动启动session的话,可以如下设置
//设置系统不启用session
‘SESSION_AUTO_START’=>false
//session赋值
session('user' , 'Mr.Lee'); //$_SESSION['user'] = 'Mr.Lee';
//获取session值
echo session('user'); //echo $_SESSION['user'];
//session删除
session('user' , null); //unset($_SESSION['USER']);
//删除所有session
session(null) //$_SESSION=array();
//判断session是否存在
echo session(' ?user') //isset($_SESSION['user']);
//暂停session 写入关闭
session('[pause]'); //session_write_close()
//启动session 可开启写入
session('[start]'); //session_start();
//销毁session
session('[destroy]'); //session_destroy();
//重新生成session_id
session('[regenerate]'); //session_regenerate_id();
PS:如果在初始化session设置的时候传如prefix参数或者单独设置了SESSION_PREFIX参数的话,就可以启用本地化session管理支持
//SESSION前缀
‘SESSION_PREFIX’=>'think_'
这是处理的$_SESSION['user']将变成$_SESSION['thing_']['user'],而我们在处理上没任何区别
2、Cookie
ThinkPHP内置了一个cookie函数用于支持和简化Cookie的相关操作,该函数可以完成Cookie的设置、获取、删除操作
//cookie赋值
cookie('user' , 'Mr.Lee'); //setcookie('user' , 'Mr.Lee');
//cookie取值
echo cookie('user'); //echo $_COOKIE['user'];
//cookie赋值,设置过期时间
cookie('user' , 'Mr.Lee' , 3600);
//cook赋值,第三参数数组设置时间过期和前缀
cookie('user' , 'Lee' , array('expire' => 3600 , 'prefix' => 'think_'));
//cookie赋值、数组
cookie('user' , array('Mr.' , 'Lee'));
//cookie删除user
cookie('user' , null);
//cookie删除所有
coolie(null);
//cookie删除指定前缀的所有
cookie(null , 'think_');