我有以下(删除)代码:
@H_301_1@<?PHP
class A {
function Show(){
echo "ciao";
}
}
$a = new A();
$b = new B();
class B {
function __construct() {
$a->Show();
}
}
?>
有一点惊喜,我无法从类中访问全局定义的$a变量,我得到一个Undefined变量异常.任何帮助?
为什么有惊喜?这是一个非常合乎逻辑的变量范围问题
我建议您使用全局关键字或变量$GLOBALS来访问变量.
编辑:所以,在你的情况下,将是:
@H_301_1@global $a; $a->Show();要么
@H_301_1@$GLOBALS['a']->Show();编辑2:而且,由于Vinko是对的,我建议您查看关于variable scope的PHP手册.