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