Zend快速入门教程概念问题

时间:2011-09-28 15:08:43

标签: zend-framework zend-db-table

我正在尝试学习zend框架,并设法完成了他们所拥有的整个快速入门教程。然而,有些东西我根本无法理解,并希望有人可以帮助我。

在本教程中,您将创建一个db-table类,一个映射器和一个模型。我阅读了文档,并了解了db-table类的用途(定义表,关系,创建/获取行)。查询db-table类时,您将获得类db-table-row的对象,您可以使用该对象来操作db中的特定记录。

但是,我无法理解为什么教程会让我创建映射器和模型,也不能理解在模型中定义getter / setter方法的原因(不应该由db-table-row提供?)< / p>

即使在控制器中,他们也从模型类和映射器类创建了一个对象,然后他们完全忽略了模型对象,并且只使用了映射器对象。

是否有必要拥有这3个班级?每个人有什么不同的目的?据我所见,我需要的只是db-table类,我是对的吗?

1 个答案:

答案 0 :(得分:3)

  

当你查询db-table类时,你会得到一个类的对象   分贝表行

不,你得到db-table-rowset而不是行的集合。 其次

你甚至不需要db-table类

$dbTable = new Zend_Db_Table('tableName'); 

但是由于db-table类允许你定义其中的其他表(业务逻辑)之间的关系,因此变得很重要。

当实体对于例如用户表很重要时,

db-table-row变得很重要。在用户的自定义db-table-row中,您可以添加方法getTopics();,该方法返回由该用户创建的所有主题的行集,从而有助于业务逻辑。