Symfony2应用程序会话;闪光;使用和清洁


Symfony2 app.session."flash" usage and cleaning

我在表单中使用Symfony2 flash消息在表单提交后构建不同的视图。到目前为止,一切都如预期的那样,但现在我希望一旦呈现了这个表单响应视图,session.flash消息(仅以一种形式)就不会仍然存在。

{% if app.session.hasFlash('something') %}
   ...some code...
{% endif %}

我对此进行了研究,但除了官方提供的删除此闪光灯的功能外,我没有找到任何信息。

有人知道哪一种是最好的做法在某个特定位置删除此闪存(例如控制器或事件),或者可能存在一些限制闪存消息生存期的选项。

由于您只是检查了这一点,但没有调用-flash仍将包含在会话中。要触发会话删除,您必须调用它上的getFlash()

目前,调用getFlash()removeFlash()之间的区别实际上只是第一个方法返回值。

对于您的特定情况,我建议您使用第二个参数调用getFlash(),该参数在请求的索引不存在的情况下确定默认返回值。

{% if app.session.getFlash('something', false) %}
   ...some code...
{% endif %}