cakephp v3.x中的存储库和表对象有什么区别?

时间:2015-05-08 09:15:13

标签: php cakephp cakephp-3.0

我一直在使用Cakephp ver2.x,刚开始迁移到Cakephp v3.x.当我尝试使用新的ORM时,我对存储库和表对象等基本概念感到困惑。存储库和表对象之间有什么区别?

1 个答案:

答案 0 :(得分:4)

存储库可以是任何东西,而名称所表的表只是一个表。

http://api.cakephp.org/3.0/class-Cake.ORM.Table.html

  

表示单个数据库表。

     

公开从中检索数据的方法,并管理此表与其他表的关联。可以为具有不同别名的同一数据库表创建此类的多个实例,这使您可以以更丰富和更富表现的方式处理数据库结构。

http://api.cakephp.org/3.0/class-Cake.Datasource.RepositoryInterface.html

  

描述表示数据存储的任何类应符合的方法。

数据存储可以是任何类型的存储系统,即使是不了解图表数据库或基于文档的系统等表的存储系统。

检查这类问题的API文档和代码总是很简单。代码很好地记录在案。此外,它的工作方式也很明显:

class Table implements RepositoryInterface, EventListenerInterface

Table实现了RepositoryInterface定义的接口。