我有一個控制器,指數,管理幾個非專業信息頁面(例如首頁,概述,功能等)。每個頁面在控制器中都有自己的操作。根據操作,使用不同的視圖腳本來呈現內容。根據行動改變視圖是不好的做法嗎?
它是不好的做法,使用不同的視圖腳本來呈現每個動作?每個頁面是否都有自己的控制器?謝謝,
我有一個控制器,指數,管理幾個非專業信息頁面(例如首頁,概述,功能等)。每個頁面在控制器中都有自己的操作。根據操作,使用不同的視圖腳本來呈現內容。根據行動改變視圖是不好的做法嗎?
它是不好的做法,使用不同的視圖腳本來呈現每個動作?每個頁面是否都有自己的控制器?謝謝,
你所描述實際上是Zend Framework的MVC實現了標準的最佳實踐。這就是Zend Framework'要'讓你做到這一點!你爲什麼害怕這可能是不好的做法?
要你問的第二個辦法......
如果每個頁面都有其自己的控制器?
沒有,但不啓動從頁面的方向思考,覺得在功能單元條款。例如,如果您的頁面需要用戶管理,那麼最有可能有userController
。
什麼功能該控制器需要滿足?
所以每個功能成爲在您的userController(功能=方法=行動)的行動。
這樣,您也將自動輕鬆讀取網址。最後,每個動作都有一個.phtml視圖腳本,該動作的必要標記位於該腳本中。
考慮URL可讀性的+1 :) – Tjorriemorrie 2011-04-06 06:33:03
謝謝,這是非常有意義的。我只是害怕我以這種方式構建我的應用程序而讓自己失敗。 – 2011-04-06 18:54:55
這並不是不好的做法的。考慮一下PHP應用程序通用的不同場景。一個CRUD(創建,讀取,更新,刪除)給用戶。
所有行動都應該是用戶在同一個控制器上。
我一般用:
如果合適,使用相同視圖進行添加和編輯是有意義的,但添加/編輯不可能與索引共享相同視圖。
謝謝你的建議! – 2011-04-06 18:55:34
閱讀Zend_Layout和Zend_View_Helpers,你幾乎不必在多個視圖文件中複製內容,如果這是你所害怕的。 – chelmertz 2011-04-06 06:23:50