ThinkPHP5 隐式传参的获取方法
ThinkPHP5 新增了重定向时隐式传参 下面是官方介绍:
可以在重定向的时候通过session闪存数据传值,例如 $this->redirect('News/category', ['cate_id' => 2], 302, ['data' => 'hello']);
上面也说了,是通过session传值, 那方法就是获取session中存的值
// 取值(当前作用域) Session::get('name'); // 删除(当前作用域) Session::delete('name'); // 取值并删除 Session::pull('name'); // 清除session(当前作用域) Session::clear(); /** *助手函数 * */ // 赋值(当前作用域) session('name', 'thinkphp'); // 赋值think作用域 session('name', 'thinkphp', 'think'); // 判断(当前作用域)是否赋值 session('?name'); // 取值(当前作用域) session('name'); // 取值think作用域 session('name', '', 'think'); // 删除(当前作用域) session('name', null); // 清除session(当前作用域) session(null); // 清除think作用域 session(null, 'think')
取值时,使用
Session::get('name');
或者是
Session::pull('name');
建议使用后者, 使用后并删除, 免得下次走到这个方法还有上次留的值, 影响操作.
总结: 多点进方法看源码, 注释是个好东西.
-------------------------------------------------------------------------------------------------------------------------------------
这是分割线, 不用删除的, 它只在下一次请求前有效, 也就是说, 再刷新重新请求就无效了. 这是因为它用的是
// 设置session 并且在下一次请求之前有效
Session::flash($name, $value);