2013-06-03 38 views
0

我正在開發一個非常大的項目。我目前正在研究的方面要求電子郵件模板在被另一用戶添加到學習課程時發送給用戶。CakePHP元素視圖中的控制器邏輯

處理請求的控制器會執行一堆str_replace任務來查找文本中的變量(在將其他用戶添加到學習課程之前,用戶可以編輯這些變量),然後用數據庫中的某些值替換它。

我接管了這個項目,並且我對一半事情的完成方式並不滿意,但是時間成本決定了我寧願隨之而去。

該電子郵件是使用Cake的本地電子郵件功能發送的。它使用模板來捕獲數據併發送給用戶。

這裏的問題:

  1. 我應該保持邏輯控制器或者你認爲它是安全的把它移到元素視圖的.ctp文件?

我的第一本能是將它留在控制器中,按照通常的MVC分離理想。

乾杯

+0

控制器應該具有的唯一邏輯是:將輸入傳遞給模型層(並且在極少數情況下 - 查看實例)。如果您的控制器執行其他任何操作,則不會有MVC。 –

+0

我之前做過類似的方法,但不同的是我創建了TemplateComponent來處理所有的解析。 –

回答

0

這是一個非常重要的問題 - 什麼是你使用完全相同的郵件? old email component或新的CakeEmail class?你使用哪個CakePHP核心版本?

這裏有一些似是而非的說法。您可以:

  1. 設置所有這些變量,將它們傳遞給視圖並在其中執行所有「替換」。
  2. 將此邏輯封裝在組件中,將其附加到您的控制器並使用它。
  3. 只需將其保留在控制器內的私人功能中,並在需要時調用該功能。 (不是真正的MVC)
相關問題