cakePhp中的同名组件和模型?

时间:2015-06-10 06:57:54

标签: php cakephp model components

我有相同的名称组件和模型,例如产品。那么我们如何使用组件功能和模型功能呢?

例如:Map map = new HashMap<String,String> / $this->componentName->function()

2 个答案:

答案 0 :(得分:1)

假设这是您自己的代码,我会更改您的组件使用的名称。我倾向于在CakePHP 2中处理这个问题的方法是使用复数命名约定和组件。因此,在您的示例中,您将拥有模型Product和组件ProductsComponent。然后在您的控制器中,您可以轻松区分这两者: -

$this->Product->function(); // Model method
$this->Products->function(); // Component method

看起来像Cake的命名约定控制器是复数的,将它扩展到组件是有意义的。

答案 1 :(得分:0)

从集合对象中调用组件。

$this->Color->find(); // Model 
$this->Component->Color->method(); // Component

当我的模型和组件都命名时,我遇到了这个问题 “帐户”。模型被加载后我认为它会被覆盖。

但是,我不确定Component的功能是否正常,因为我从未尝试过 它。它确实适用于行为,因此值得一试。