假设我有3个PHP文件:
的index.php:
require('config.php');
require('connect_db.php');
new connect_db();
的config.php:
$config['db_host'] = 'localhost';
$config['db_username'] = 'root';
$config['db_password'] = '';
$config['db_name'] = 'my_db';
connect_db.php:
class connect_db{
function __construct(){
$this->conn = new mysqli($config['db_host'], $config['db_username'], $config['db_password'], $config['db_name']);
}
}
当我运行上面的代码时,我遇到了一个错误:"Undefined variable: config in...."
我的问题是:如何在" connect_db"中使用$ config变量?在connect_db.php文件中没有包含config.php
文件的类。
谢谢!
答案 0 :(得分:0)
如评论中所述,将$ config变量传递给类的构造函数。
new connect_db($config);
class connect_db{
function __construct($config){
$this->conn = new mysqli($config['db_host'], $config['db_username'], $config['db_password'], $config['db_name']);
}
}
希望它有所帮助。
答案 1 :(得分:0)
您还可以在config.php
顶部附近和__construct()
函数内添加此行:
global $config;
然后他们将被分享。
我建议选择比$config
更好的变量名称。也许类似于$database_configuration
,所以你不太可能在两个地方使用相同的变量名。