避免对匿名用户会话开始
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 2.8,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
避免对匿名用户会话开始
会话是自动启动时读、写,甚至检查会话中的数据的存在。这意味着,如果你需要避免创建一些用户的会话cookie,很难:你必须完全避免访问会话。
例如,在这种情况下,一个常见的问题包括检查为flash的消息,这是存储在会话中。下面的代码将保证一个会话总是开始:
1 2 3 4 5
{%为在app.session.flashBag.get flashMessage(“通知”)%}<div类=“flash-notice”>{{flashMessage}}< /div>{%endfor%}
即使用户没有登录,即使你还没有创建任何flash消息,调用get ()
(甚至有()
)方法的flashBag
将开始一个会话。这可能伤害你的应用程序的性能,因为所有的用户将获得一个会话cookie。为了避免这种行为,添加一个试图访问flash消息前检查:
1 2 3 4 5 6 7
{%如果app.request。hasPreviousSession %}{%为在app.session.flashBag.get flashMessage(“通知”)%}<div类=“flash-notice”>{{flashMessage}}< /div>{%endfor%}{%endif%}
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。
< /article>