我想對我的建築有一些反饋。我的Zend Framework項目包含幾個模塊和我們構建頁面的模塊。它與默認的ZF應用程序略有不同,因爲多個模塊可以創建一個頁面。例如,聯繫頁面由零件文本(文本模塊)和聯繫表單(聯繫模塊)組成。或者三列頁面有三個文本模塊在一頁上運行。到目前爲止這麼好(這一切都很好)。ZF的建築諮詢admin
管理員界面
現在,我們的管理員。在管理界面中,我們編輯一個頁面(而不是一個模塊!),這使得它很難。一個頁面可以有一個或多個Zend_Form實例。例如,一個文本可以用textarea編輯,一個聯繫表格形成一些輸入字段。這些需要作爲更大的Zend_Form實例的子表單顯示在視圖中。還需要顯示html(查看腳本),例如列出博客文章或投資組合中的項目。並非所有的模塊都是「可管理的」(例如我們的站點地圖,沒有什麼可配置的),但是那些需要支持創建,更新和刪除的模塊。
當前架構
我們的服務現在的工作。很容易檢查(存在類Portfolio_Service_Admin並執行Admin_Service_AdminInterface?)。但是一個投資組合已經變得很難實施:該服務扮演着一種控制器的角色,支持投資組合的創建,更新和刪除,但也包括投資組合類別的CRUD和投資組合項目的CRUD(在一個類中!)。
如果這是不明確的,我可以添加更多的信息我們目前的做法
什麼呢?
因爲服務現在作爲一個排序的控制器,I是控制器的思維(杜)。唯一的缺點是控制器需要返回表單將該模塊表單添加爲更大表單的子表單(而不是添加到響應!)。此外,一個頁面上的多個模塊導致dispatchloop的很多迭代,這不是非常有效。
所以:你有什麼建議,如何控制呢?
那麼在你的管理區域,編輯一個頁面的時候,Zend_Form有很多子表單提交到哪裏?你有沒有足夠智能的頁面控制器可以通過子窗體並將每個部分分配給相應的模塊? – 2011-01-14 14:02:38