【发布时间】:2010-04-07 18:46:49
【问题描述】:
我正在开发一个 PHP Web 应用程序,并且正在尝试使用 MVC 模型。我有很多作为“数据库实体”存在的东西——一行或一组相关行,它们在概念上是一个人类可识别的“东西”。所以我经常尝试在模型类中为那个东西提供一个接口。
当然,工厂功能的运行是拥有一个现有实体,从中获取一些数据,有时还会对其进行更新。但是,我遇到问题的地方是我需要创建一个新实体。现有实体的默认数据都不存在!
例如,我的__construct() 方法通常会有参数(即$id 对应WHERE id = $id),这样我就可以从数据库中选择数据并从该数据中填充对象的所有属性。但是,当我想创建一个新实体时,这些参数的值还不存在!
你们是如何处理这种情况的?你有没有
- 尝试为同一对象中的创建和后续操作提供功能
- 有另一个类只用于生成实体
- 避免使用
__construct,并为新实体使用create(),为现有实体使用instantiate() - 还有别的吗?
【问题讨论】: