如何在静态类中包含一些变量?

时间:2015-04-19 09:55:08

标签: php

我有一个sql.php配置文件:

$GLOBALS["hostname_con1"] = 'localhost';
$GLOBALS["database_con1"] = 'mydatabase';
$GLOBALS["username_con1"] = 'root';
$GLOBALS["password_con1"] = '';

我有一个Config.php文件

class Config{   

    public static $dbname = ''; // Your database name
    public static $dbuser = ''; // Your database username
    public static $dbpass = ''; // // Your database password
    public static $dbhost = ''; // Your database host, 'localhost' is default.
... many other variables...

}

这个class.config只填充了静态变量。

我的目标是使用Config.php中的sql.php来避免重新启动两次。

我试过了:

1)“include”:给出错误!

2)public static $ dbname = $ GLOBALS [“hostname_con1”];错误

3)我尝试了一个构造函数:但是从不调用构造函数,因为Config.php从未实例化。

在Config.php中使用sql.php的解决方案是什么?

1 个答案:

答案 0 :(得分:3)

对此有很多选择,但是因为你要求一个静态类"我建议这个:

class DbConfig{   
    const NAME = 'mydatabase';
    const USER = 'root';
    const PASS = '';
    const HOST = 'localhost';
}

现在,您可以在任何需要的地方以静态方式访问凭据:

DbConfig::NAME
DbConfig::USER
DbConfig::PASS
DbConfig::HOST

此外,我喜欢做什么因为它让我感觉更好(注意:这不是真的添加更好的安全性,它只是看起来像):我包含声明这个静态类的文件在我的http服务器主机配置中自动预置的方法。这样,没有人看到文件的位置。

哦,顺便说一下:你真的不应该使用root帐户进行正常的数据库操作。特别是你不应该在没有密码的情况下配置它......