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

时间:2012-01-31 21:17:49

标签: oop pdo

我正在尝试在MVC模式中编写一个Web应用程序,我想知道是否有一个类具有将在此类中由应用程序使用的所有数据库调用的良好实践。

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

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

嗯,这是一个很好的问题。这更多是个人意见,但我通常做的是创建一个数据库对象来处理所有数据库调用,然后我根据需要创建不同的数据库对象。例如,我将创建一个UserDB对象,并将数据库调用放在其中,这对用户来说是唯一的。如果您有用户组,还可以创建UserGroupDB对象并使用它来调用所需的所有数据库查询。这使您的代码可以轻松读取,并且可以在系统的多个部分中使用,而只需将DB逻辑保存在一个位置。您不希望使用所有数据库查询创建单个数据库对象,因为这将是明显的开销,因为系统中的所有页面都不需要大多数查询。

我希望这会有所帮助。

答案 2 :(得分:0)

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