可能重复:
PHP 和 PDO 类问题
我想知道是否有人可以帮助我拥有一个基本的 php PDO 扩展类,并且我想在其他类中使用全局 $db 来完成所有 mysql 的工作。我可以连接到数据库,但只想使用可以在任何类中访问的全局变量。
但是我不想用我的新类扩展数据库类,我也不想在类构造函数中传递数据库连接变量。
有没有办法做到这一点?
这是我想要实现的一些编码示例,请原谅任何编码错误..
//--DATABASE CLASS
class Database Extends PDO {
    protected $database_hostname = DB_HOST;
    protected $database_username = DB_USER;
    protected $database_password = DB_PASSWORD;
    protected $database_name = DB_NAME;
    protected $database_type = DB_TYPE;
    public function __construct() {
        try {
            parent::__construct($this->database_type . ':host=' . $this->database_hostname . ';dbname=' . $this->database_name, $this->database_username, $this->database_password, array(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION));
        } catch (PDOException $e) {
            echo 'ERROR: ' . $e->getMessage();
        }
    }
}
//--TEST CLASS
class test1 {
    //--INSIDE MY FUNCTIONS I WANT TO BE ABLE TO USE A $db to do my msql stuff
    public function test1a() {
        $stmt = $db::prepare('SELECT * FROM table');
        $stmt->excute();
    }
}
//--TEST CLASS 2
class test2 {
    public function test2a() {
        $stmt = $db::prepare('SELECT * FROM table');
        $stmt->excute();
    }
}
//--CREATE THE DATABASE GLOBAL
 $db = new Database();
 $testers = new test2();
如果我执行上述操作,我会收到一条错误消息,指出 $db 是未定义的变量:db