我有一個簡單的Web應用程序,其中包含數據庫表orders
和products
,我正在使用CakePHP重新進行操作。還有更多,但爲了簡單起見,我在這裏只使用這兩個。在網絡應用程序中,我希望能夠搜索項目,搜索訂單以及執行與訂單有關的工作,但是我無法設置和選擇用於製作此Web應用程序的組件。作爲我的問題的一個例子,我有以下頁面。查看下面的佈局。CakePHP:適當的控制器,模型和操作結構
|------------------------------|
| My App |
|------------------------------|
|Search <--| search order |
|Orders | search product |
|etc. | |
| | |
| | |
|------------------------------|
圖:左側導航欄和正文顯示。箭頭表示我們正在打開的頁面。
控制器:本次搜索的頁,該控制器應使用?我現在默認爲
PagesController
靜態頁面,但是該搜索頁面是否真的使用PagesController
?我還創建了ProductsController
和OrdersController
,這是在創建Product
和Order
模型時創建的,但似乎更適合使用全新控制器,可能是一個名爲SearchController
的控制器。通過這種方式,URL保持在myapp/search/...
之下,並且不會遍佈整個地方。這是正確的方式嗎? (我知道我可以重寫網址,但這是爲了以後)模型和操作:我有
Product
和Order
模型。這些模型中的每一個都有其相應數據庫表的搜索邏輯。如果爲上述頁面創建了新控制器,那麼該控制器可以簡單地使用這些模型的操作?我正在閱讀控制器和模型分離是完全正常的,實際上是一件好事。起初我以爲他們一起去了,但我更熟悉CakePHP,看起來恰恰相反。如果我的方法(從1和2開始)效率不高,錯誤或不正確,您是否可以建議一個好的結構來設置這個特定的頁面,關於要使用哪個控制器以及控制器應該如何使用模型和他們的行爲?
謝謝大家的答案!我將爲此使用'SearchController'。 – musicliftsme 2012-04-18 16:07:54