0

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

foo.php

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

酒吧.php

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

但这会返回:

array
  'Registry' => &null

有人对为什么不将Registry变量标识为数组有任何建议吗?

4

3 回答 3

2

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

$Registry = array();

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

酒吧.php

class Bar
{
  function Bar() {
    global $Registry;
    print_r(var_dump($Registry));
  }
}
于 2012-06-20T12:29:24.397 回答
0

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

于 2012-06-20T12:24:41.470 回答
0

因为$Registry不存在,所以Foo->Registry存在,但应该是从对象本身访问。

于 2012-06-20T12:25:29.827 回答