PHP - 当我不需要它们时,我应该在 DAO 类中创建人工继承吗?


PHP - Should I create an artificial inheritance in DAO classes when I don't need them?

All,

使用 PHP 构建一个小的 Web 应用程序。 我没有太多的编程经验。

在我的应用程序中,我创建了一个类来访问我称之为 DAO_DBrecords 的 DB 记录。 该类包括创建新记录、更新现有记录等的基本函数。 目前,该类满足了我所有数据库表的所有 DAO 需求。 在函数中,我将一个表示数据库表(usersarticles等(的字符串作为参数之一传递。

在这一点上,我可以做以下 3 件事之一:

  1. 在整个程序中使用此类,无论我正在处理哪种类型的记录(即表(。
  2. 为每种类型的记录(例如,DAO_Users (创建特定的类,这些类继承自DAO_DBrecords,但否则为空。
  3. 为每种类型的记录(例如,DAO_Users(创建特定的类,这些类继承自DAO_DBrecords并指定该类可以通过变量(例如,private $table = 'users'(访问的数据库表。 在父类中,变量将为 null 或空字符串。

同样,在这一点上,我没有设想对特定于表的函数的需求(但这可能会改变(。

其中哪一种(如果有的话(是正确的方法?

谢谢

京东

编辑:

我已经编辑了选项3,之前的内容如下:
3. 为每种类型的记录(例如,DAO_Users (创建特定的类,这些类继承自DAO_DBrecords并指定该类可以通过常量(例如const TABLE = 'users'(访问的数据库表。 在父类中,常量将为 null 或空字符串。

我将选择第三个选项。在DAO_Users中,您最终可以在用户记录本身上放置执行特定操作的方法(例如,创建和存储加盐密码,发送验证电子邮件,从数据库中获取所有用户的朋友作为DAO_Users集合,获取所有用户的评论等(。

通过这种方式,您既可以使用 DAO 模式,也可以按操作目标组织类中的所有应用程序"操作"。