出于某种原因,在定义时:
function __construct() {
if(!isset($_GLOBALS["className"])) {
$_GLOBALS["className"] = new className;
}
return true;
}
$_GLOBALS["className"]->classMethod();
PHP出于某种原因声明$ _GLOBALS [“className”]未定义。
哦,即使我从该类中将全局值设置为其他值,也会出现同样的情况。我可以通过构造或其他方法测试全局的值,但不能在外面测试 - 似乎全局因为某种原因在类外丢失了。
在外部类中声明全局后,有没有办法保留全局? 任何帮助都非常感谢!
答案 0 :(得分:4)
您想使用$GLOBALS
而不是$_GLOBALS
:
http://php.net/manual/en/reserved.variables.globals.php
$_GLOBALS
将在您的功能范围内可用。