我一直在使用Cakephp ver2.x,刚开始迁移到Cakephp v3.x.当我尝试使用新的ORM时,我对存储库和表对象等基本概念感到困惑。存储库和表对象之间有什么区别?
答案 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定义的接口。