2009-12-03 18 views
2

你在模型类中有什么?一般来说,如果我使用任何框架或任何库(Zend框架),我的类只有变量是表名。我知道在复杂的应用程序模型中有很多事情要做,所以我想知道这些工作是什么。你在模型课上有什么?

也许不是使用库的常规选择函数,而是创建特殊函数从数据库中获取数据(getUserById())。总而言之,流程的哪些部分应该进入模型层。

例如关于一般用户过程的事情。所以在注册过程中,我们应该在哪里检查电子邮件是否可以接受。这个例子只是解释你在你的模型层中做了什么。

这个问题可能看起来像一个抽象的问题,因为我的英语,但事实并非如此。如果你可以编辑它,请改进它。这个问题的目的是更好地理解mvc模式

回答

2

那么,一般来说,模型应该做有关您的业务层的主要工作。所以,如果你有一个非常复杂的查询,使用(和组合)数据库层的访问函数(因此,你的模型),你应该在你的模型类中为该查询编写一个额外的函数。使您更容易改变模型的实现(例如数据库表格式)。

编辑:为了回答您的其他问题:验证电子邮件控制器应该发生,通常是使用某种成分,实用类或库的...

+1

概括起来:你的控制器知道它想做什么,但它不应该在乎(也不知道)如何去做。 – Franz 2009-12-03 21:37:13