Symfony2:如何避免缓存中的flashbags

时间:2014-09-25 09:30:57

标签: php symfony caching twig

我使用的是Symfony2的AppCache,效果非常好。我有关于flashbags的问题。当我发出PUT,POST或DELETE请求时,我会为用户制作一个带有消息的flashbag。但是这个flashbag存储在缓存中,当我通过GET方法访问缓存路径时,flashbag仍在那里。

我的问题是如何在页面中只安装一次flashbag(而不是在缓存的响应中使用它)。我已经读过关于ESI但我不知道这对我有什么帮助:我不知道如何创建一个控制器,唯一的目的是显示闪光袋。此外,此控制器可能没有显示正确闪光袋所需的信息。

感谢您的回答。

干杯!

1 个答案:

答案 0 :(得分:0)

FlashMessages存储在用户会话中,而不是存储在缓存中,并且必须由呈现它们的控制器消耗它们。如果您正在进行AJAX或纯REST调用(就像您的问题看起来那样),您不应该使用Flashbag,而是使用嵌入在AJAX请求者中的一些响应机制,或者正确的HTTP响应代码。