所有
使用PHP构建一个小型Web应用程序。我的编程经验不多。
在我的应用中,我创建了一个访问数据库记录的类,我称之为DAO_DBrecords
。该类包括创建新记录,更新现有记录等的基本功能。目前,该类满足我所有数据库表的所有DAO需求。在函数中,我作为参数之一传递一个表示数据库表(users
,articles
等)的字符串。
此时我可以做以下三件事之一:
DAO_Users
)创建特定的类,这些类继承自DAO_DBrecords
但其他方式为空。 DAO_Users
),它继承自DAO_DBrecords
并指定类可以通过变量访问的数据库表(例如private $table = 'users'
) 。在父类中,变量将为null或空字符串。同样,在这一点上,我并没有想到需要特定于表的功能(但可能会改变)。
哪些(如果有的话)是正确的方法?
谢谢,
JDelage
编辑:我编辑了之前读过的选项3:
3.为每种类型的记录(例如DAO_Users
)创建特定的类,这些类继承自DAO_DBrecords
并指定类可以通过常量(例如const TABLE = 'users'
)访问的DB表。在父类中,常量将为null或空字符串。
答案 0 :(得分:1)
我会选择第3个选项。在DAO_Users
中,您最终可以在用户记录本身上放置方法来执行特定的操作(例如,创建并存储盐渍密码,发送验证电子邮件,从数据库中获取所有用户的朋友DAO_Users
集合,获取所有用户的评论等。)
通过这种方式,您既可以使用DAO模式,也可以按行动目标在类中组织所有应用程序“操作”。