2010-05-30 27 views
5

我正在學習Zend Framework和Doctrine。zend-framework doctrine和mvc模式:模型和表單之間應該使用哪種圖層連接數據?

我想知道什麼是連接形式的模型,反之亦然的最佳實踐。

在一些情況下,它是很方便的在形式上類來加載從模型數據。讓我們說一個非常獨特的類,它使用了許多模型。

在其它情況下是很方便的具有其中對形式準備的數據模型的類方法。假設它可以有一個返回爲select-options元素準備的數組的方法,所以這個方法對於很多形式都是有用的。

我想要保持一致性並始終將此邏輯保存在一個圖層中。

我認爲控制器不正確的地方,因爲我想保持簡單明瞭。

你的做法是實現這個目標(將模型連接到表單)?

- 我來下結論,我應該準備我的模型,我的所有需求。如果我必須處理很多模型,我將有一個服務層(這是正確的術語?),它將連接這些模型。因此,該模型或服務將有方法來爲表單提供水合數據。它將能夠接受來自表單值的數據。

+2

我傾向於在控制器映射表和模型,但我聽說論點,該模型應交付的形式。一般而言,表格是一種奇怪的野獸,因爲它們包含視圖元素。 – Sonny 2010-06-02 20:35:38

回答

2

我認爲控制器是連接模型和窗體的最佳場所。如果您想阻止填充表單的大量代碼,請在接受模型的表單上創建一個填充方法。

如果讓模型和形式直接溝通就會變得很混亂,在一個特定的時間會發生什麼。我會創建諸如填充方法之類的便利方法來縮短內容,但所有操作都應該從控制器啓動以保持中心並防止「魔術行爲」。

只是我的2美分..

+0

我喜歡你的答案,尤其是因爲它證實了我已經做的事情;) – Sonny 2010-06-04 14:33:04

相關問題