我已经完成了多年的程序编程,并试图围绕OOP和PDO。我已经开始将我编写的应用程序转换为使用类而不是独立函数(这是一场噩梦,但我认为值得......)并且希望使用PDO而不是常规的mysql_*
函数。我有点坐在裤子的座位上,只是随着我的学习而学习,我不知道应该如何处理PDO对象。
我知道每次需要进行查询时创建一个新的PDO对象都是愚蠢的,所以我可以看到两种方式:
这样做的最佳方式是什么?
感谢您的建议!
答案 0 :(得分:2)
不要多于一个。你会疯狂地试图管理所有数据库连接。
一个好的解决方案是使用singleton object进行数据访问,并在需要使用数据库时通过它的静态访问器方法检索它。这样,您只有一个管理数据库访问和PDO的地方。如果你想要更多MVC,你可以将所有SQL代码放在那里。
答案 1 :(得分:1)
根据应用程序的大小,您可能希望使用Singleton来处理数据库连接。从本质上讲,这将是一个包装数据库连接的类,并具有一个将返回PDO对象的静态函数。但是,因为它是一个单身人士,它只会创建一个(假设你没有让它变得更复杂)。这样既可以不必连续创建对象,又可以将一个对象传递给所有对象,从而将持久性与业务逻辑正确分离。