0

私はこれに似たスクリプトを持っています:

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変数を配列として識別しない理由について誰かが何か提案がありますか?

4

3 に答える 3

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));
  }
}
于 2012-06-20T12:29:24.397 に答える
0

おそらく、両方の関数でグローバルを試してください。

于 2012-06-20T12:24:41.470 に答える
0

$Registry存在しないため、存在Foo->Registryしますが、それはオブジェクト自体からのアクセスである必要があります。

于 2012-06-20T12:25:29.827 に答える