2011-04-06 44 views
3

我有一個控制器,指數,管理幾個非專業信息頁面(例如首頁,概述,功能等)。每個頁面在控制器中都有自己的操作。根據操作,使用不同的視圖腳本來呈現內容。根據行動改變視圖是不好的做法嗎?

它是不好的做法,使用不同的視圖腳本來呈現每個動作?每個頁面是否都有自己的控制器?謝謝,

+0

閱讀Zend_Layout和Zend_View_Helpers,你幾乎不必在多個視圖文件中複製內容,如果這是你所害怕的。 – chelmertz 2011-04-06 06:23:50

回答

3

你所描述實際上是Zend Framework的MVC實現了標準的最佳實踐。這就是Zend Framework'要'讓你做到這一點!你爲什麼害怕這可能是不好的做法?

要你問的第二個辦法......

如果每個頁面都有其自己的控制器?

沒有,但不啓動從頁面的方向思考,覺得在功能單元條款。例如,如果您的頁面需要用戶管理,那麼最有可能有userController

什麼功能該控制器需要滿足?

  • 添加用戶,
  • 刪除用戶,
  • 讓用戶編輯自己的數據,
  • 讓用戶選擇朋友,

所以每個功能成爲在您的userController(功能=方法=行動)的行動。

這樣,您也將自動輕鬆讀取網址。最後,每個動作都有一個.phtml視圖腳本,該動作的必要標記位於該腳本中。

+0

考慮URL可讀性的+1 :) – Tjorriemorrie 2011-04-06 06:33:03

+0

謝謝,這是非常有意義的。我只是害怕我以這種方式構建我的應用程序而讓自己失敗。 – 2011-04-06 18:54:55

3

這並不是不好的做法的。考慮一下PHP應用程序通用的不同場景。一個CRUD(創建,讀取,更新,刪除)給用戶。

所有行動都應該是用戶在同一個控制器上。

我一般用:

  • 指標 - 顯示所有用戶
  • 添加 - 創建一個新用戶
  • 編輯 - 編輯現有用戶
  • 刪除 - 刪除用戶(不有一個觀點只是重定向)。

如果合適,使用相同視圖進行添加和編輯是有意義的,但添加/編輯不可能與索引共享相同視圖。

+0

謝謝你的建議! – 2011-04-06 18:55:34

相關問題