2012-10-11 31 views
0

我已經建立了一個MVC的PHP應用程序,並想知道,如果不必編寫了大量的HTML和設定數據,可我不只是擁有這一切的HTML(有一些PHP)在一個單獨的文件和公正的要求它?在模型中需要文件的錯誤練習?

例如:

$test = '<div> 
     Test content 
     <div>More content</div> 
     </div>'; 
$APP->Template->setData('test', $test, FALSE); 

反而會不只是使用:

$test = require("includes/content.php"); 
$APP->Template->setData('test', $test, FALSE); 

這會被認爲是不好的做法?看來通過要求文件,它可以縮短控制器的長度。

將是很好的在這個問題上取得anybodies建議。

回答

1

這取決於你在哪裏做的包括:如果您在模型做出來,那將是錯誤的。但是,在這個看來,它會好起來的。

它的關注點分離的問題:該模型是應用程序的骨幹,而視圖負責從模型顯示結果。

我不明白,怎麼會包括縮短控制器的長度。

+0

包含在我的控制器內,這會被認爲是不好的做法? – HireLee

+0

是的,html代碼不屬於控制器。控制器應該只粘貼模型和視圖。 – JvdBerg

+0

謝謝JvdBerg這就是我想知道的。 – HireLee

1

您打算包含的文件看起來像模板。這些應該由視圖實例處理,當它開始拼湊一個HTML文檔作爲響應。視圖應該從模型層(這是一個層,而不是一個單一的對象類)請求信息,並根據收到的數據決定什麼是適當的響應形式。

這樣的代碼在控制器中沒有位置。在模型層面甚至更少。模型應該只包含域業務邏輯,並且完全無視表示層。