2017-10-07 70 views
0

我正在使用Laravel 5.5并尝试将变量存储到会话中。我正在使用全球帮手session()Laravel会话方法刚刚工作一次

所以我这样做:

session(['a' => 'b']); 

dd(session()->all()) 

只是用于测试,并但有它,当我刷新,我删除了第一条线,a变量到哪里去了?

另外,forget(),flush()和所有其他方法只在请求中工作一次。一旦刷新,它就全部消失了。

+0

做这个小实验。访问此页设置会话并检查您的laravel会话cookie当您下次访问该页时,请检查cookie值是否与上次相同。 – apokryfos

回答

1

DD助手功能将转储变量和结束脚本的执行。所以,你正在结束这个执行

session(['a' => 'b']); 

这个脚本根本不执行。

,请返回脚本或者尝试使用类似PHP的var_dump本地函数()或print_r的()

+0

我认为会话函数和'$ _SESSION ['a'] ='b';'是一样的。所以它需要对存储/删除数据的请求做出响应? – nick

+0

您可以使用全局会话助手或通过请求功能。您正在使用全局会话助手,并且完全有效,它与执行$ _SESSION ['a'] ='b' – zuif

0

据我记得你不应该使用dd()进行这样的测试。只需使用var_dump,一切都应按预期工作。

此外,如果它仍然无法正常工作确保您正在测试它里面web中间件组Laravel