【发布时间】:2016-11-01 12:52:12
【问题描述】:
【问题讨论】:
-
我想只有 Taylor Otwell 才能回答这个问题。
标签: php laravel session laravel-5
【问题讨论】:
标签: php laravel session laravel-5
检查StartSession 中间件的handle 方法,您可以看到,当使用“cookie”驱动程序进行会话存储时,数据会在响应发送到浏览器。
但是,正如您所说,当使用例如“文件”或“数据库”会话驱动程序时,数据会在响应发送到浏览器后写入存储,使用 terminate 方法.
这可能是出于性能原因:应用程序的主要关注点是尽快将响应发送给客户端。如果我们使用 cookie 驱动程序,Laravel 在发送响应之前以某种方式“强制”将数据存储到存储中,因为会话信息需要存储在与响应一起发送的 cookie 中。而在其他情况下,laravel 可以延迟写入存储,尽快发送响应
【讨论】:
这是我能想到的唯一原因。
如果您需要将某些内容推送到会话并使其立即从会话中可用,您可以使用以下...
Session::now($key, $value);
【讨论】: