只有一个问题和评论模型可以吗


Is it okay to have just one model for questions and comments?

我想在一个模型中使用add_question(), get_all_quests(), add_comment()等问题和注释的方法。为什么,你可能会问,因为我有一个函数validate_html(),它验证html代码,我想在评论和问题中验证它(因为人们可以在评论和提问中输入html代码)。那么,这样做可以吗?

函数validate_html()应该进入单独的库系统。因此,除了MVC之外,还应该有一个称为库的第四层,它可以在应用程序中共享

请在这里参考我的答案:在MVC中放置逻辑的适当位置以获取更多信息。

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

很简单-不。模型的全部意义在于它应该封装与特定元素相关的数据,例如关于问题的所有数据和关于评论的所有数据。

但是,您也希望最大限度地提高代码重用性。最好的方法是创建一个Validator类,其中包含validate_html()方法。然后可以在控制器中使用它(如果您正在进行MVC)来验证模型。