用于PDO数据库访问的PHP编程设计模式



我正在尝试用MVC模式编写一个web应用程序,我想知道用一个类来处理该类中应用程序将使用的所有数据库调用是否是一种好的做法。

然后在需要的时候创建一个此类的实例?

还是将数据库调用混合到需要访问数据库的任何特定类(模型或控制器)中更好?

嗯,这是个好问题。这更多的是个人观点,但我通常会创建一个数据库对象来处理所有数据库调用,然后根据需要创建不同的数据库对象。例如,我会创建一个UserDB对象,并将DB调用放在其中,这对用户来说是唯一的。如果您有用户组,您还可以创建一个UserGroupDB对象,并使用它来调用所需的所有数据库查询。这使得您的代码易于阅读,并且可以在系统的多个部分中使用,同时只将DB逻辑保留在一个位置。您不想用所有的DB查询创建一个DB对象,因为这将是明显的开销,因为系统中的所有页面都不需要大多数查询。

我希望这能有所帮助。

通常,数据访问由模型处理,但在某些情况下,模型不是数据访问层的同义词。

对于更干净的代码,创建一个抽象类可能更明智,它将处理您的数据访问层和每个模型的具体类。

在我的实践中,数据访问对象,简称DAO,只是在SQL中有所不同。因此,使用一个DB对象来封装查询,包括选择和修改(更新、插入和删除),然后不同的表或模块具有不同的DAO来构建其特定的SQL,并使用DB对象来进行查询。

最新更新