重複の可能性:
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