如何在Controller CakePHP 2.x中清除缓存?

时间:2012-11-09 06:59:22

标签: php facebook cakephp cakephp-2.0 browser-cache

我正在建立一个用户创建列表的房产网站,稍后保存,我们要​​求他通过Facebook连接。目前它工作得很好,但是,当我创建另一个属性(比如一个用户没有登录),后来我回到创建属性的页面,然后通过Facebook连接然后..它确实登录用户但是,不创造财产.. 我尝试了各种各样的东西后来我发现,一旦我清除了浏览器缓存,就会创建属性。

所以,我的问题是,如何使用CakePHP 2.x清除浏览器中的缓存?

另外,我试过了:

纯HTML:

<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
然而,它没有帮助。有没有办法通过CakePHP本身做到这一点?还是Facebook需要解决的问题?

请告知。

PS:clearCache() does not work我不知道为什么。

2 个答案:

答案 0 :(得分:2)

您可以使用CakeResponse::disableCache()

Example:

 <?php
        public function search() {
        // do something.
            $this->response->disableCache();
       }

答案 1 :(得分:2)

除非您实际上是使用浏览器的缓存,否则无法清除浏览器的缓存。 (例如File->Options->Clear Cache

您所说的只是告诉浏览器首先不要缓存您的页面 - 您似乎已经知道该怎么做了。

但是一旦它被缓存,它就被他们的浏览器缓存,而不是你的代码。这将是一个安全问题,并且很容易被滥用以允许您删除用户缓存。