2011-03-18 34 views
1

我不知道你最開發商如何分離MVC成不同的文件。 的一款軟件我的工作是專門AJAX供電,認爲具有零邏輯如何處理輸入數據,它只有UI邏輯和一切行動,通過由命令一個巨大的開關情況下發送到控制器進行處理+參數(作爲POST)請求。模型視圖演示/控制器文件結構

例如。 3文件

  • list_inventory.php(圖)
  • ajax_inventory.php(控制器)
  • class_inventory.php(模型)

從理論上講,這種結構看起來絕對完美的,它是但是,對於大多數情況,隨着開發的進行,由於每個視圖都有自己的控制器,所以會有重複的控制器代碼。共享相同的控制器是CRUD應用程序的常見做法嗎?有時控制器也有最小的代碼,例如。 1套命令+參數 - 一種情況開關。

而且SEO和東西是不是一個問題,因爲它是一個Intranet Web應用程序。

回答

0

我通常使用一個共同的控制器類或多個鹼基的控制器類,這取決於是他們purpose.Thus所有的重複碼是在一個地方,只需要不同的控制器來設置基類代碼,以適當的參數工作。

例如一個有新聞和頁面編輯部分的站點(都有標題和內容......),然後你創建一個基礎控制器類來處理普通的CRUD任務,只在你的子類中爲你服務設置POST參數的名稱,並將其與真實數據變量關聯等

如果我理解你的權利,你解析的服務器端的操作在PHP中的大胖子開關,對不對?這難道不是一種更好的解決方案,以每個動作拆分成在控制和〔實施例使用反射類的合法性進行檢查一個單獨的方法?通過這種方式,指派給正確的行動是不要在一個位置(地方了hieracy),你只定義了單獨的行動處理器(同樣,在所有控制器處理共同行動應某處父類中定義)。

問候。