1

我今天在这里询问define();将变量连接到数据库是否明智。我的示例如下:

// Constants For Database 
define ("DBAHost", "localhost");
define ("DBAUsername", "xxx");
define ("DBAPassword", "xxx");
define ("DBADB", "xxx");

并处理了连接;

class ClassWork
{       
    public function AllowDB ($Arg1)
    {
        if ($Arg1 === 1)
        {
            $MySQLi = new mysqli(DBAHost, DBAUsername, DBAPassword, DBADB);
            return 'Success... ' . mysqli_get_host_info($MySQLi);
        }
        elseif ($Arg1 !== 1)
        {
            return 'Wrong Argument Please Consult The Documentation!';
        }
    }
}

或者更确切地说修改接受数据库连接字符串以通过公共函数推送?

4

2 回答 2

1

纯面向对象的方式是将任何需要的参数传递给类实例。

也就是说,根据您的需要,使用全局定义的数据库实例是可以接受的。请记住,如果不进行重构,您以后将无法轻松地处理多个数据库。使用这种方法,您有点自欺欺人。

于 2013-02-25T14:09:22.960 回答
1

你说的是常量,不是变量。
只使用一次的常量没有多大意义。
更好地使用设置创建一个数组并将其传递给您的数据库包装类。

于 2013-02-25T14:11:08.750 回答