2013-05-02 45 views
0

我正在學習Magento和MVC模式,並且很難理解這些概念。MVC-何時需要控制器?

我想了解控制器和它們何時使用。

舉例來說,我正在構建一個接口,在調度事件時純粹在後臺導出數據。如果他們沒有使用的意見,那麼說是不是需要一個控制器?

何時在MVC應用程序中需要控制器?

回答

1

控制器是處理用戶輸入的MVC的一部分。它從傳入請求獲取數據並將其分發到模型層結構(最好是服務)。

控制器有什麼都沒有與呈現輸出。關閉它應該來影響響應應該是視圖實例狀態的小改變(例如,指示查看將輸出從HTML更改爲JSON)。控制器也不負責在模型層和視圖之間進行數據交易。

+0

是的,渲染是視圖的工作。但如果沒有看法,那麼說沒有控制器是必要的,這是否公平? – Lock 2013-05-02 11:58:50

+0

如果沒有用戶操作,預計不需要控制器 – raam86 2013-05-02 20:51:23

+0

重新加載頁面是「一個操作」。在網絡環境中,MVC的「用戶」是你的瀏覽器。 – 2013-05-03 08:54:19

0

你可以在控制器中有一個函數,它不返回任何東西(void)。

+0

...控制器不應該返回任何開始 – 2013-05-03 08:56:09

1

我不確定一般的MVC概念,但Magento對於控制器非常簡單。通常這都歸結爲一個問題 - 您是否需要一個單獨的頁面來發送HTTP查詢(GET,POST等)?如果答案爲是 - 您需要一個控制器,如果否 - 您不需要控制器。我在Magento中沒有看到任何其他控制器的用法。