Cakephp调用Model和View之间的函数

时间:2013-04-09 04:44:26

标签: php cakephp separation-of-concerns

假设我有一个功能:

function getCarName() {
   return array(1 => 'BMW', 2 => 'MERCEDEZ BENZ', 3 => 'RENAULT');
}

我将在模型和视图上使用此功能,我应该在AppHelper和Car Model上创建两个相同的功能吗?实现这一目标的正确方法是什么?

1 个答案:

答案 0 :(得分:4)

让两个函数做同样的事情通常是个坏主意,因为它违反了don't repeat yourself原则。

相反,我会将该函数添加到您的Car模型中,然后将控制器中的数据传递给您的视图,例如:

$this->set('carNames', $this->Car->getCarNames());

然后通过$carNames变量在视图中提供汽车名称。