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);

 

posted @ 2018-06-29 09:53  风起时的悟  阅读(487)  评论(0编辑  收藏  举报