私の目的は、別の PHP ファイルで定義されているグローバル配列からデータを取得することです。私のコードはdatabase.php
ファイル内で実行されており、使用したい配列はconfig.php
ファイル内にあります。クラス内でグローバル配列にアクセスするのは良い考えではないことは理解していますが、いくつかの理由でアクセスしたいと考えています。
私のコードは以下の通りです:
config.php
$CONFIG = array();
// ...
$CONFIG["DATABASE"] = array();
$CONFIG["DATABASE"]["USERNAME"] = "user";
$CONFIG["DATABASE"]["PASSWORD"] = "pass";
$CONFIG["DATABASE"]["HOSTNAME"] = "127.0.0.1";
$CONFIG["DATABASE"]["DATABASE"] = "my_db";
// ...
データベース.php
require('config.php');
class Database
{
protected $m_Link;
private $m_User;
private $m_Pass;
private $m_Host;
private $m_Data;
private $m_bConnected;
public function __construct()
{
global $CONFIG;
$this->m_User = $CONFIG["DATABASE"]["USERNAME"];
$this->m_Pass = $CONFIG["DATABASE"]["PASSWORD"];
$this->m_Host = $CONFIG["DATABASE"]["HOSTNAME"];
$this->m_Data = $CONFIG["DATABASE"]["DATABASE"];
$this->m_bConnected = false;
$this->Connect();
}
// ...
};
エラーは表示されません (データベース接続の失敗通知を除く)。
配列要素にアクセスできません。たとえば、の文字列で$CONFIG["DATABASE"]["USERNAME"]
初期化されていても、空の値を返します。"user"
config.php
クラス コンストラクター内でこのグローバル配列にアクセスできるようにするには、コードをどのように変更すればよいですか?
(注: PHP のバージョンは 5.3.0 です)