后端:
1,赋值
// 赋值(当前作用域)Session::set('name','thinkphp');// 赋值(think作用域)Session::set('name','thinkphp','think');
2,判断是否存在
// 判断(当前作用域)是否赋值
Session::has('name');
// 判断think作用域下面是否赋值
Session::has('name','think');
3,取值
// 取值(当前作用域)
Session::get('name');
// 取值think作用域
Session::get('name','think');
如果name的值不存在,返回null。
4,删除🔺
// 删除(当前作用域)
Session::delete('name');
// 删除think作用域下面的值
Session::delete('name','think');
5,指定作用域
// 指定当前作用域
Session::prefix('think');
7,取值并删除🔺
// 取值并删除
Session::pull('name');
8,清空
// 清除session(当前作用域)
Session::clear();
// 清除think作用域
Session::clear('think');
前端:
1,助手函数赋值
session('username', 'thinkphp');
2,模板中取值
{$Request.session.username}
3,删除指定🔺
session('username', null);
4,清除所有session🔺
session(null);
url传session参数的写法:
{:url('admin/edit',array('id'=>$Request.session.id))}
设置过期时间
thinkphp5自带的代码发现没有设置session过期时间的地方,只是在\thinkphp\library\think\Session.php有
if (isset($config['expire'])) {
ini_set('session.gc_maxlifetime', $config['expire']);
ini_set('session.cookie_lifetime', $config['expire']);
}
其中:
session.gc_maxlifetime:session的有效生存时间,过了这个时间session将进入销毁队列。
session.cookie_lifetime:值为0代表关闭浏览器,保存在客户端的sessionid将立即失效。
它读取的配置值expire是在config.php中设置的
只有在config.php文件里面设置全局session过期时间。

