CakePHP中Element视图中的控制器逻辑

时间:2013-06-03 06:43:10

标签: cakephp model-view-controller controller

我正在做一个非常大的项目。我目前正在处理的方面要求,当用户将其添加到学习课程时,会将电子邮件模板发送给用户。

处理请求的控制器执行一系列str_replace任务来查找文本中的变量(用户可以在将另一个用户添加到学习课程之前编辑),然后将其替换为DB中的某些值。 / p>

我接手了这个项目,我对完成一半事情的方式感到不满意,但时间成本决定了我只是跟着它一起去。

使用Cake的本机电子邮件功能发送电子邮件。它使用模板捕获数据并发送给用户。

以下是问题:

  1. 我应该保留控制器中的逻辑,还是认为将其移动到元素视图的.ctp文件是安全的?
  2. 我的第一直觉是按照通常的MVC分离理念将它留在控制器中。

    干杯

1 个答案:

答案 0 :(得分:0)

这是一个非常重要的问题 - 您对电子邮件使用的是什么? old email component或新CakeEmail class?你使用哪个CakePHP核心版本?

这里有一些看似合理的方法。你可以:

  1. 设置所有这些变量,将它们传递给视图并在那里进行所有“替换”。
  2. 将此逻辑封装在组件中,将其连接到您的控制器并使用它。
  3. 只需将其保留在控制器内的私有函数中,并在需要时调用该函数。 (不是真正的MVC)