我對設計模式比較陌生,但我覺得我對MVC模式以及代碼分離帶來的好處有了很好的理解。爲什麼要將MVC中的視圖分解爲視圖類和模板
不過,兩次我已經看到了行動(Magento的和Joomla!)MVC模式,有進一步專業化,與視圖同時包含一個視圖類(Magento的塊)和一個PHP模板文件。如果有人能夠解釋這一分裂的好處,我將不勝感激。
我也不知道如何在視圖類和模板文件之間分割我的代碼。有時候我發現自己正在寫一些看起來是冗餘視圖類的東西(在Joomla!中),它只是簡單地訪問模型,然後只是爲模板提供數據。哪些代碼應該出現在模板中,哪些代碼應該出現在視圖類中?
我認爲,MVC範式的全部內容是模型是**什麼**和視圖是**如何**。 – Dom
我的編輯在五分鐘的規則中迷失了,上面的其他內容應該閱讀。據我所知,使用Joomala時!有三個領域可以控制如何呈現模型的內容,這些領域是:1)視圖2)模板和3)樣式表。您能否提供一個示例顯示演示文稿應該如何以及爲什麼在這些位置之間進行分區。 – Dom
你可以找到一個關於內容重寫的解釋,這是這種分離最常見的用例[這裏](http://docs.joomla.org/Understanding_Output_Overrides)。即使您的默認安裝模板也有內置覆蓋。視圖被用作獲取數據並將其分配給變量的常見代碼片段,然後調用渲染部分,這是視圖的模板(在Joomla!中稱爲「佈局」)。可以在這裏找到一個簡短的解釋(http://docs.joomla.org/How_to_override_the_output_from_the_Joomla!_core)。 – MasterAM