创建一个简单的“ORM/ActiveRecord”模式
Posted
技术标签:
【中文标题】创建一个简单的“ORM/ActiveRecord”模式【英文标题】:Creating a Simple "ORM/ActiveRecord" Pattern 【发布时间】:2011-07-07 03:09:25 【问题描述】:我不确定我在做什么是所谓的 ORM 或 Active Record 模式。
我有一个实体/数据库表将继承的Entity
基类。这些类将具有类似的方法
现在的问题是如何创建数据库连接?
依赖注入 - 听起来很复杂... 使用全局变量,这些类将被设置? - 听起来不对 有一个Entity
继承的包含所有数据库连接信息的基类? - 听起来也不对
也许我做错了?我对任何想法持开放态度,最好是简单的开始。我想为开始创建一个简单的框架(例如不使用 Doctrine),它将为我提供有关此类框架如何工作的基础。此外,如果它是一个小项目,使用大框架可能会使事情过于复杂
【问题讨论】:
【参考方案1】:关于您的尝试并没有那么简单。它很复杂:-)
您需要有某种基本实体管理器和/或表类,它们通常保存对数据库连接的引用(或某种包装它的对象)。然后,当调用 save
或 delete
方法时,所有实体将自己传递给管理器,管理器将计算出修改数据库所需的查询。
例如,您可以注入此管理器,也可以将其设为单例并让您的类在实例化时获取它。
如果我是你,我会查看php Objects Patterns and Practices by Matt Zandstra。它通过一些基本的实现示例进入所有这些模式。
【讨论】:
以上是关于创建一个简单的“ORM/ActiveRecord”模式的主要内容,如果未能解决你的问题,请参考以下文章