Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP5.3.0在包含_Php - Fatal编程技术网

PHP5.3.0在包含

PHP5.3.0在包含,php,Php,我有一个php文件,其中有一个类需要从配置文件中读取一个变量。配置文件将同时包含在包含类和类本身的页面中(都包含require_一次)。但是,根据我得到的错误,我需要读取的变量($cfg)在类文件中显然没有定义: 注意:第45行的未定义变量:cfg in/opt/lampp/htdocs/screia/obj/MemberProfile.class.php 我尝试通过添加以下内容在配置文件中将其设置为全局: global $cfg; 但它仍然找不到它。我的一位朋友建议,也许5.3.0中的新名称

我有一个php文件,其中有一个类需要从配置文件中读取一个变量。配置文件将同时包含在包含类和类本身的页面中(都包含require_一次)。但是,根据我得到的错误,我需要读取的变量($cfg)在类文件中显然没有定义:

注意:第45行的未定义变量:cfg in/opt/lampp/htdocs/screia/obj/MemberProfile.class.php

我尝试通过添加以下内容在配置文件中将其设置为全局:

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)一致地访问它;