提问人:ben 提问时间:12/17/2022 最后编辑:Sunderam Dubeyben 更新时间:2/16/2023 访问量:47
PHP:在函数中调用对象时未定义变量?[复制]
PHP: Undefine variable when calling an object with in a function? [duplicate]
问:
我从以下代码中得到“Undefine variable”。
这是index.php中的所有代码
<?php
include "globals.classes.php";
$anObj = new Globals();
logout();
function logout() {
echo $anObj->getName(); //Warning: Undefined variable $anObj
exit();
}
?>
我知道在参数中传递$anObj会起作用,
但是,是否可以在不通过参数传递的情况下使其工作?
我想以这种方式调用函数..
logout();
不是这个...
注销($anObj);
答:
1赞
KarlsMaranjs
12/17/2022
#1
那是因为$anObj超出了范围。您需要使 logout() 成为 的成员,并将其调用为:Globals()
<?php
include "globals.classes.php";
$anObj = new Globals();
$anObj->logout();
// In your class Global() you'll do something like this
class Globals {
function getName() {}
function logout() {
echo $this->getName();
exit();
}
}
?>
另一种解决方案可能是这样的:
<?php
include "globals.classes.php";
$anObj = new Globals();
echo $anObj->getName();
logout()
function logout() {
exit();
}
在这种情况下,您将不需要 .但我想你可能想做更多的事情,而不仅仅是logout()
exit()
评论
logout($anObj);