我已经阅读了Symfony的教程,它说POST请求永远不会被缓存。我可以覆盖它,以便我可以缓存POST请求的结果页面吗?
答案 0 :(得分:3)
kuba的答案在技术上是正确的,但你确定你想要缓存POST吗?如果可能,最好重定向用户,在用户上存储一些值。
答案 1 :(得分:2)
Hopefuly你知道在大多数情况下缓存POST请求不是你想要的;)
以下提示。
缓存过滤器
缓存过滤器负责缓存响应。默认情况下,symfony使用 sfCacheFilter 类,您可以在应用程序的 filters.yml 文件中更改它。
查看缓存管理器
sfCacheFilter 做得不多。它使用视图缓存管理器来完成所有工作。
默认实现( sfViewCacheManager 类)具有 isCacheble()方法。你可以从这里开始,因为它为非GET请求的所有内容返回false。
可以在factories.yml文件中更改View缓存管理器类。您可以通过扩展 sfViewCacheManger 并重载其某些行为来编写自己的类。