在组件中使用缓存的Cakephp
我使用的是CakePHP2.3,我想在我的几个控制器中执行许多常见的计算。所以我在appcontroller中编写了这些函数,并缓存了一些数据。。 但是我的appController会变得肥胖。。所以我创建了一些组件来执行这些操作。。我不知道我的方法是对的还是错的。。?请建议在组件中使用缓存的Cakephp,cakephp,caching,components,Cakephp,Caching,Components,我使用的是CakePHP2.3,我想在我的几个控制器中执行许多常见的计算。所以我在appcontroller中编写了这些函数,并缓存了一些数据。。 但是我的appController会变得肥胖。。所以我创建了一些组件来执行这些操作。。我不知道我的方法是对的还是错的。。?请建议 我想在我的组件中使用缓存,我尝试了以下代码。但是没有缓存任何内容 public $helpers =array('Cache'); 及 请帮助我如何在组件中使用缓存 如何在应用程序中更常见的函数中有效地使用ca
public $helpers =array('Cache');
Model
TFmStation
是具有上述逻辑的最佳位置。组件用于通用功能,如UploadComponent、EmailComponent、RecaptchaComponent等。如果您的逻辑部分与模型有关,那么它应该进入该模型
从AppController.php调用模型的方式与调用组件的方式类似。如果您只想为一个页面生命周期(一个请求和响应)保存数据,我建议您实现一个模型(例如,
计算
)包含这些计算的业务逻辑,您可以访问每个控制器。如果您希望通过多个请求保存与客户端分离的计算数据,可以将计算数据保存在会话或cookie中。最后,计算数据可以通过浏览器中的JavaScript保存在客户端。如果需要这些计算数据集在服务器端进行计算,可以通过ajax发送它们。注意:不要在客户端存储合理的数据(例如密码)。@SimonseSourceCoder非常好的建议。帮助我很多。@SimonseSourceCoder问题是,我有7个不经常更改的表数据,所以我认为最好的方法是在开始时加载这些数据。我将其保存在appcontroller中并缓存这些数据。但是我需要添加大约20个函数来操作这些数组并得到结果。在appcontroller中编写20个函数不是很好,它会变得油腻。这就是我对这些函数进行分类并创建3个组件的原因,因此在需要的地方,我可以加载这些组件并调用这些函数。但我无法访问组件中的缓存数据?有办法吗?创建自定义类和函数怎么样?
$result = Cache::read('fm_data', 'long');
if (!$result) {
$result =
$this->TFmStation->find('all',array('contain'=>array('TLocation',
'TLanguage','TMediaOrg','TContactPerson',
'TAddress','TFmProgram'=>array('TTargetGroup'))));
Cache::write('fm_data', $result, 'long');
}
return $result;