Cakephp和Croogo交叉模型

Cakephp和Croogo交叉模型,php,cakephp,croogo,Php,Cakephp,Croogo,我使用Croogo作为主系统。并为其构建了一个自定义插件。让我们称之为MyPlugin Croogo和MyPlugin都有用户模型 MyPlugin的控制器应该使用MyPlugin.User类(默认情况下)。它还手动包含在$uses数组中 在本地PC上一切正常。但在客户端服务器上,由于某些原因,它忽略了MyPlugin.User模型,并使用Croogo的默认User.User模型。 你知道为什么以及如何修复吗?同一名称空间中不能有两个同名的类 如果您有: <?php // App/Mod

我使用Croogo作为主系统。并为其构建了一个自定义插件。让我们称之为MyPlugin

Croogo和MyPlugin都有用户模型

MyPlugin的控制器应该使用MyPlugin.User类(默认情况下)。它还手动包含在$uses数组中

在本地PC上一切正常。但在客户端服务器上,由于某些原因,它忽略了MyPlugin.User模型,并使用Croogo的默认User.User模型。
你知道为什么以及如何修复吗?

同一名称空间中不能有两个同名的类

如果您有:

<?php

// App/Model/User.php
class User extends AppModel
上述情况并不意味着它们都是
app/Model/User.php
中类的所有实例-根据应用程序其余代码的执行顺序,它们中的任何一个都是伪随机实例

解决方案 唯一的解决方案是使用不同的类名,以避免名称冲突,例如:

<?php

// Plugins/MyPlugin/Model/MyPluginUser.php
class MyPluginUser extends MyPluginAppModel {

$x = ClassRegistry::init('User');
$y = ClassRegistry::init('My.User');
$z = ClassRegistry::init('Other.User');

$x === $y === $z
<?php

// Plugins/MyPlugin/Model/MyPluginUser.php
class MyPluginUser extends MyPluginAppModel {