2012-03-03 87 views
0

我想在一個模型中使用像add_question(), get_all_quests(), add_comment()等問題和評論的方法。爲什麼,你可能會問,因爲我有一個函數validate_html(),它驗證了html代碼,我想在評論和問題中驗證它(因爲人們可以在評論和問題中輸入html代碼)。那麼,這樣做可以嗎?問題和意見只有一個模型可以嗎?

+2

我會簡單地創建一個驗證器類,並在需要使用它的所有類中實例化它。 – Brad 2012-03-03 23:42:55

回答

2

函數validate_html()應該進入單獨的庫系統。所以隨着MVC應該有第四級稱爲圖書館,可以在整個應用程序共享

請參閱我的答案在這裏:Proper place to put logic in MVC欲瞭解更多信息。

function add_question() 
{ 
// do stuff 
$library->validate_html(); 
} 

function add_comment() 
{ 
// do stuff 
$library->validate_html(); 
} 
2

很簡單 - 沒有。模型的全部要點是它應該封裝與特定元素相關的數據,例如,所有關於問題的數據以及關於評論的所有數據。

但是,您還希望最大限度地重複使用代碼。最好的方法是創建一個包含validate_html()方法的Validator類。這可以在您的控制器中使用 - 如果您正在進行MVC驗證模型。

相關問題