在PHP中使用类外的变量

时间:2014-05-19 03:02:13

标签: php

假设我有3个PHP文件:

  1. 的index.php:

    require('config.php');
    require('connect_db.php');
    new connect_db();
    
  2. 的config.php:

    $config['db_host'] = 'localhost';
    $config['db_username'] = 'root';
    $config['db_password'] = '';
    $config['db_name'] = 'my_db';
    
  3. connect_db.php:

    class connect_db{
        function __construct(){
           $this->conn = new mysqli($config['db_host'], $config['db_username'], $config['db_password'], $config['db_name']);
        }
    }
    
  4. 当我运行上面的代码时,我遇到了一个错误:"Undefined variable: config in...." 我的问题是:如何在" connect_db"中使用$ config变量?在connect_db.php文件中没有包含config.php文件的类。

    谢谢!

2 个答案:

答案 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,所以你不太可能在两个地方使用相同的变量名。