2010-11-02 87 views

回答

2

Hopefuly你知道,在大多数情况下,缓存一个POST请求是不是你想要的东西;)

下面的一些技巧。

缓存滤波器

缓存过滤器负责缓存的响应。默认情况下,symfony使用sfCacheFilter类,您可以将其更改为filters.yml您的应用程序的文件。

查看缓存管理器

sfCacheFilter没有做太多。它使用视图缓存管理器来完成所有的工作。

默认实现(sfViewCacheManager类)有一个isCacheble()方法。您可以从这里开始,因为它对于不是GET请求的所有内容都返回false。

查看缓存管理器类可以在factories.yml文件中更改。你可以通过扩展sfViewCacheManger并重载其一些行为来编写自己的类。

3

kuba的答案在技术上是正确的,但是你肯定你想缓存POST吗?如果可能的话,最好重定向用户,在用户上存储一些值。

+0

从技术上讲是正确的,最好的一种正确。 – 2010-11-04 04:45:48

+0

同意。您应该尝试将POST更改为GET,而不是篡改框架。 – anushr 2010-11-07 15:12:49