我有一个与此类似的脚本:
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
变量标识为数组?
答案 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
存在,但应该从对象本身进行访问。