cakephp插件模型/控制器缓存问题与主模型/控制器

时间:2012-01-16 11:50:13

标签: cakephp cakephp-2.0

我有一个包含用户模型,配置文件模型和用户控制器的插件,在此用户模型中与配置文件模型相关联。在我的主模型文件夹(在app下),我有用户模型和用户控制器(这里我没有与配置文件关联)。有时我会收到错误,说用户模型与配置文件模型无关。有时我也会收到错误 - “用户控制器中缺少操作注销”。我在app / controller / userscontroller中给出了注销操作,但myplugin / usercontroller中没有该方法。我正在使用cakephp2.0 ..我该如何解决这个问题? cakephp如何为模型和控制器设置缓存?我不想完全禁用缓存。

1 个答案:

答案 0 :(得分:2)

我也遇到过这个问题。基本上,它归结为Cake不支持具有相同类名的控制器。因此,插件和应用程序级别上名为UsersController的控制器会导致缓存和某些组件(例如Auth组件)出现问题。

Cake 3.0应用程序将在Cake 3.0中支持相同的类名,这将需要PHP 5.3,后者又支持名称空间,这是正确处理重复类名所需的功能。

由于2.0分支刚刚完成测试版,因此没有任何关于Cake 3.0将会发布的消息,我通过将插件名称添加到我的控制器,视图和模型中来重构我的插件。

因此UserModel成为PluginUserModelUsersController成为PluginUsersController。这有点麻烦,因为你必须更新使用模型名称的所有视图和变量。

My original question包含一些指向Cake bug跟踪器的链接,如果您对某些背景感兴趣,可以提出类似的问题,

相关问题