MVC - 实现模型

时间:2012-04-13 21:40:24

标签: php model-view-controller model controller

我对模型的实施有疑问,无法找到问题的合理解释。 我会给你一个我正在工作的例子,它是一个实施博客的MVC。

我是ControllerPost,负责控制阅读特定帖子的博客 因此有ModelPost

ModelPost必须包含所需的所有方法吗?

method getPost()
method getComment()
method getArchive()

还是应该隔离这些方法?

ModelPost
     method getPost()
ModelComment
     method getComment()
ModelArchive
     method getArchive()

这让我很困惑,我看到了例子,但没有正确的解释。 我希望这在我的怀疑中是清楚的,否则试着更加解释

全部谢谢

1 个答案:

答案 0 :(得分:2)

在我参与的大多数项目中,我们有一个数据库表的模型类。 主要使用Zend MVC,这意味着为每个实体扩展Zend_Db_Table类。 所以在你的情况下,如果注释,发布和存档是不同的表(我认为它们是),我将使用get,update,insert和delete(以及其他类似的)方法构建单独的类。

这可能会偏离主题,但我建议您研究域驱动开发(DDD): 这里有一些很好的阅读材料链接:Domain-driven design with Zend

另请阅读:

关于DDD的主要内容是它将思维模式从思考数据库表转向思考应用程序的主要逻辑部分,然后在其下面慢慢添加持久层以及上面的应用程序和服务层