奇妙なリクエストです。構成マネージャー関数を使用して構成ファイルを要求しているので、何百ものセットアップではなく、必要な変数のみをロードします。
問題は、ファイルの1つにクラスと変数が設定されているため、それらは含まれていますが、メインスクリプトからアクセスできないことです。
ファイルをロードする関数は次のとおりです。
function load($OPT){
if (file_exists(ABSPATH. "includes/config/".$OPT.".config.php")){
require_once(ABSPATH. "includes/config/".$OPT.".config.php");
} else {
echo "Missing configuration script ".$OPT.", application has been halted.";
exit();
}
}
私もクラスでこれをやろうとしましたが、同じ問題に遭遇しました
class configManager {
function load($OPT){
if (file_exists(ABSPATH. "includes/config/".$OPT.".config.php")){
require_once(ABSPATH. "includes/config/".$OPT.".config.php");
} else {
echo "Missing configuration script ".$OPT.", application has been halted.";
exit();
}
}
}
含まれるファイルには、次のようなコードが含まれます
define('COMPANYNAME', 'NAME');
define("IPADDRESS", $_SERVER['REMOTE_ADDR']); // IP Address of accessing user
require_once (ABSPATH . 'includes/classes/mysql.class.php'); // class to manage the database
$DB = new sqlClass;
var_dump($DB);
これで、上記のコードのvar_dumpは期待どおりに出力されますが、以下に示すようなvar_dumpを実行すると、nullに戻ります。
require_once (ABSPATH . 'includes/functions/_configmanager.php'); // Class to manage the configuration of the site.
loadconfig("global");
var_dump($DB);
誰かがこれを達成する方法について何かアイデアがありますか?