session put 失效问题 需要注意的点
再控制器里面必须有return,才会激活session的flushinput函数,更新你写入的session内容,网上提到的put之后再save在有些版本的laravel并不可以,laravel5.5文档中没写save函数,但是触发save的时候确实有flushinput一样的效果,只是一个主动,一个静默,大家可以根据需要自行选择
假设下面的function在Controller里面
public function test1()
{
session()->put('name','KeenSting');
}
public function test2()
{
session()->put('name','KeenSting');
return 1;
}
public function test3()
{
print_r(session()->all());
}
第一个页面执行test1后第二个页面执行test3 ,session中没有name
第一个页面执行test2后第二个页面执行test3 ,session有name
主要区别就是在test2中有return 值
推荐文章: