奇怪的请求,我正在使用配置管理器功能来要求配置文件,以便我们只加载所需的变量而不是数百个设置。
问题是,其中一个文件设置了类和变量,现在它们被包含在内,但无法从主脚本访问它们。
加载文件的函数是:
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);
有人对如何实现这一目标有任何想法吗?