2012-02-04 131 views
0

我的PHP应用程序管理'事件'。我有一个类将所有需要的事件属性定义为私有var成员。每个var成员通过setter执行验证,因此事件中的每个值都是有效的。最后,我有一个使用这些setter创建事件的新实例的工厂方法。该方法执行额外的验证,确保在创建类的新实例时确保每个必需的属性都存在。数据库自动编号或自定义编号

这里来了我的问题。

每个事件都必须有一个ID。这个ID是在插入事件时由数据库创建的,因此在事件创建但尚未插入的时刻没有ID。因为我有工厂方法中的所有验证,所以我不想在其他方法中复制该代码,只是为了创建临时事件来插入数据库。

哪个是standar/logical/etc为什么做事?

  • 管理我自己的事件号,所以我可以有一个之前,我将事件插入数据库? 为什么在数据库可以为我做这么好的事情时为事件编制系统?

  • 对于尚未插入数据库的事件,是否有不同的工厂方法,允许使用无标识事件? 为什么复杂的程序逻辑,根据需要/不需要的属性取决于其在数据库中的状态?

注意:原谅,我无法为此问题选择适当的标记。

回答

1

如果您可以设法在没有预定义的id-s的情况下执行此操作,请尝试这种方式。 另一方面,我猜测,你正在使用一个表,其中的id由自动增量值设置。 您可以从数据库中选择该值,然后事件ID将为自动递增ID + 1

+0

尼斯提示读取数据库中的值。在此等待更多选择。 – 2012-02-04 12:30:16