我有一个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的解决方案是什么?
答案 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帐户进行正常的数据库操作。特别是你不应该在没有密码的情况下配置它......