理解mvc:库类和模型类之间的区别

时间:2010-04-09 12:22:05

标签: php model-view-controller

所以我想遵循mvc惯例,但并没有真正掌握它。

我在理解模型和库类之间的明显差异以及它们之间的相互关系时遇到了问题。

例如。我想创建类来添加/编辑联系人,并将它们添加到组中。

我认为它应该分为两类:联系人和小组。

第一堂课会创建联系人。另一个将联系人添加到组。我认为这种划分是完美的,因为他们的逻辑与彼此隔离。联系人不关心组是否存在。 Group不关心联系人的外观。

所以Contact会有这些方法:

$Contact->add($name, $email, $address, $phone) // create an entry in database
$Contact->delete($id) // delete the entry in database
$Contact->edit($id, $name, $email, $address, $phone) // edit the entry in database

和小组:

$Group->createGroup($name) // create a group in database
$Group->delete($id) // delete a group in database
$Group->addContact($groupId, $contactId) // add a contact to a group in database

所以这些类显然适用于数据库。这是否意味着这些是模特?或者他们是图书馆类,例如。应该放在CodeIgniter中的SYSTEM / LIBRARIES中。如果是后者,那么在这种情况下,模型如何使用类?

在这种情况下,控制器会如何?

如果有人能给我全局照片,那会很棒!谢谢!

2 个答案:

答案 0 :(得分:5)

MVC 模式没有库的概念。您所指的是MVC 框架的一般使用模式。这是一个模型文件夹,其中包含通常派生自通用,可重用和独立于应用程序库类的特定于应用程序的类。

答案 1 :(得分:3)

通常,模型就像对象,它们与数据库交互,具有变量和功能,并且可以重复使用。

库通常是用于处理数据/执行操作的辅助函数集。