对象中全局变量的最佳实践 - php

时间:2015-05-06 14:37:56

标签: php mysql database oop

我对PHP OOP的最佳实践有疑问,将方法中使用的全局变量联系起来。我知道我在做什么是不正确的,但我不确定应该怎么做。

我们正在使用此数据库类:https://github.com/joshcam/PHP-MySQLi-Database-Class/blob/master/MysqliDb.php

我们在config.php文件中创建对象,每个页面都需要以下代码行。 $db = new MysqliDb(host,user,pwd,dbname);

但是,如果我们希望访问数据库,我们所有类中的每个方法都必须使用global $db。这是不好的做法吗?如果是这样,应该怎么做? 我们类的所有是否应该扩展数据库类(MysqlDb)?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

mysqli-db有一个MysqliDb::getInstance()静态调用来获取初始化对象。因此,您使用new()在config.php中对其进行初始化,然后使用MysqliDb::getInstance()来获取对象。