PHP5.3.0在包含
我有一个php文件,其中有一个类需要从配置文件中读取一个变量。配置文件将同时包含在包含类和类本身的页面中(都包含require_一次)。但是,根据我得到的错误,我需要读取的变量($cfg)在类文件中显然没有定义: 注意:第45行的未定义变量:cfg in/opt/lampp/htdocs/screia/obj/MemberProfile.class.php 我尝试通过添加以下内容在配置文件中将其设置为全局:PHP5.3.0在包含,php,Php,我有一个php文件,其中有一个类需要从配置文件中读取一个变量。配置文件将同时包含在包含类和类本身的页面中(都包含require_一次)。但是,根据我得到的错误,我需要读取的变量($cfg)在类文件中显然没有定义: 注意:第45行的未定义变量:cfg in/opt/lampp/htdocs/screia/obj/MemberProfile.class.php 我尝试通过添加以下内容在配置文件中将其设置为全局: global $cfg; 但它仍然找不到它。我的一位朋友建议,也许5.3.0中的新名称
global $cfg;
但它仍然找不到它。我的一位朋友建议,也许5.3.0中的新名称空间改变了include的语义。这是真的吗?在发出通知的行的类文件中,在读取变量之前,尝试在$cfg前面加上global前缀,例如
global$cfg
另外,检查类文件中$GLOBALS的内容,例如
isset($GLOBALS['cfg'])
您误解了global
的工作原理。必须使用该变量将其放入函数体中。例如:
class Something {
function foo() {
global $cfg;
// Code using $cfg here
}
}
那应该对你有用。然而,使用<代码> Global 是一个错误的做法,您应该考虑在实例中传递所需的配置,或者通过方法。您还可以使用$Global(CFG)一致地访问它;