您是否应该分离模型函数,即使它们检索数据字段?
假设我有一个文章模型从数据库中获取文章。
我有一个函数getUserArticles($id)
,它可以获取用户文章。我有一个函数getAllArticles($offset, $limit)
,它获取文章列表。
我应该将两个功能彼此分开,还是以某种方式将它们组合起来。
我问的原因是因为如果我要更改,添加或删除查询中的字段,我将不得不在每个函数中进行更改。因此,如果我改变主意并决定不再为每篇文章显示time_added
,我将不得不从每个函数中删除它。
答案 0 :(得分:1)
最好向API的用户公开两个不同的函数,但如果你认为那样会有更好的代码重用,你可以在内部使用相同的代码。
例如:您将定义一个通用的getArticles(仅在内部使用)
articles getArticles($userId, $offset, $limit) {
// do searching while handling the different cases if $userId is set or not and the same for the offsets
}
然后你定义你的曝光函数
articles getUserArticles($id){
return getArticles($id, -1,-1);
}
articles getAllArticles($offset, $limit) {
return getArticles(-1, $offset, $limit);
}
注意:只有在您认为两个功能之间存在通用代码时才执行此操作。如果没有公共代码,那么将它们分开,不需要我建议的通用getArticles函数。
我不知道上面是否是有效的PHP代码,但我认为这个想法很清楚。
答案 1 :(得分:0)
将它们分开。它们在逻辑上是截然不同的。如果你尝试合并它们,你最终会得到具有众多参数和复杂内部结构的函数。保持简单,但不简单。拥有这些较小的,不言自明的方法可以让你的生活变得更轻松。