我正在开发一个很大程度上依赖于会话的Laravel(5.2)项目,虽然很新但我很好奇全球session()
和Http request()->session()
除了它们有什么区别之外访问和写入会话的不同方式?
以下是laravel 5.4 doc,
中有关此内容的一些信息不幸的是,这并不能让我理解其中的差别。我也有 googled和stackoverflowed 也许我找不到答案无济于事。示例是laravel difference of session::flash and request->session->flash,但我对答案不太满意
他们在管理会话数据方面有什么真正的区别?我不会介意参考文档,或者即使我必须深入研究laravel核心。
由于
答案 0 :(得分:10)
session()是一个帮助程序,可让您更快地访问request() - > session()
请注意,request()也是一个帮助程序,可以更快地访问请求对象。
没有区别,只是一条捷径。
答案 1 :(得分:0)
我认为这会对你有所帮助: $ request-> session()和session()都是一样的。
在Laravel中使用会话数据有两种主要方式:session()帮助器中的全局函数和$ request实例。
你可以像这样使用它
9,007,199,254,740,991
答案 2 :(得分:0)
不幸的是,Laravel笔记已经给出了最佳答案;我现在只能证明这一点,因为我曾经注意到这种情况。
我不明白为什么全局session('key')
在同一方法中拒绝回显$request->session()->put('key', 'value')
的值。希望我再次遇到这种情况只是为了证明,但我想给您的最后答复是:
“没有区别,这只是捷径。”
Cos就像提到的文档一样,在实践中有明显的区别