2014-06-12 19 views
0

我正在嘗試學習PHP開發的MVC設計模式,我有幾個關於視圖結構的問題。PHP MVC - 我如何使用視圖?

  1. 我一直在看「視圖不是模板!」到處都是我閱讀MVC的貼圖。但是,我如何包含標題,導航欄和頁腳等內容?如果我有所有視圖都應該共享的html,那麼如何在沒有模板的情況下將視圖包含在視圖中?

  2. 我也讀過堆棧溢出中的另一個線程,認爲視圖永遠不需要聲明,並且它們是應該需要的聲明。但是如果我有一個觀點應該在多個視圖中需要的情況呢?假設一些視圖有幾行可以列出一個列表,那麼在視圖中重用使用require語句的代碼比爲每個視圖重寫代碼更合乎邏輯,但這顯然違背了視圖的本質。

謝謝。

+1

Ify ou不是指像CakePHP這樣的特定框架,那麼您的意思是MVC設計模式,而不是框架 – Andrew

+0

是的。你是對的。 – Nikita240

回答

2

模板不是視圖,但視圖可以使用模板。模板只是視圖可以基於的可重用架構/設計。視圖通常是特定的頁面或頁面類型。

視圖也應該有很少或根本沒有業務邏輯,應該把重點放在佈局和設計,因此爲什麼應該有很少或根本沒有要求。

如果您的視圖使用的是模板,那麼根據您使用的模板系統,您可能不需要包含頁腳和標題等內容。但是,如果您在沒有模板的情況下創建視圖,您可能必須自己在視圖中包含這些視圖。

專注於可維護性,可擴展性和設計與邏輯的分離,並儘可能使您的代碼可重用。

+0

頁眉是一個模板,頁腳是一個模板..頁面的競賽網站有一些模板。一個視圖拉取了必要的數據並從thos(以及其他一些模板)組裝頁面。視圖沒有「業務邏輯」,但它們具有** UI邏輯。 –