全局变量被标识为null

时间:2012-06-20 12:21:28

标签: php global-variables

我有一个与此类似的脚本:

foo.php

class Foo
{
    function Foo() {
        $Registry = array();
        include 'bar.php';
        $Registry['bar'] = new Bar();
    }
}

bar.php

class Bar
{
    function Bar() {
        global $Registry;
        print_r(var_dump($Registry));
    }
}

但是返回:

array
  'Registry' => &null

有没有人建议为什么它没有将Registry变量标识为数组?

3 个答案:

答案 0 :(得分:2)

你必须在班级之外创建$ register

$Registry = array();

class Foo
{
  function Foo() {
    global $Registry;
    include 'bar.php';
    $Registry['bar'] = new Bar();
  }
}

bar.php

class Bar
{
  function Bar() {
    global $Registry;
    print_r(var_dump($Registry));
  }
}

答案 1 :(得分:0)

也许在两个函数中尝试全局。

答案 2 :(得分:0)

由于$Registry不存在,Foo->Registry存在,但应该从对象本身进行访问。