我一直幸福地从CakeResponse::disableCache();
beforeFilter()
调用AppController.php
来禁用浏览器缓存,据我所知,它已经运行良好。
但是,自升级到PHP5.4以来,我收到以下严格警告:
Strict (2048): Non-static method CakeResponse::disableCache()
should not be called statically, assuming $this from incompatible
context [APP/Controller/AppController.php, line 53]
该功能似乎仍然有效,但错误告诉我,我误解了一些非常基本的东西,并且可能有不同的(更好的)方法。
因此,如果我需要在应用程序范围内禁用浏览器缓存(例如:no-store, no-cache, must-revalidate
等等),那么在Cake 2.3中执行此操作的最佳方法是什么?
答案 0 :(得分:0)
为什么不访问CakeResponse对象呢?它是如何在OOP上下文中使用的?作为控制者的一部分:
$this->response
所以在你的情况下:
$this->response->disableCache();
文档中还有很多示例 - 例如http://book.cakephp.org/2.0/en/controllers/request-response.html#interacting-with-browser-caching
你在提问之前读过这本书吗?