我对如何正确访问父类中的变量感到困惑,该变量是在子类中设置的。
假设我们有父类(作为$ user):
class user
{
public $details = [];
}
子类(作为$ login):
class login extends user
{
function do_login()
{
// something before here to grab their details from the DB
$this->details = $grabbed_user_details;
}
}
然后在脚本中调用我希望做的所有事情:
$user = new user();
$login = new login();
$login->do_login();
$user->details['username'];
然而,"详情"似乎是空的。我对此完全没错吗?不要以为我非常了解范围。
答案 0 :(得分:1)
$user = new user();
这会创建一个新对象,其details
属性为空数组。
$login = new login();
这会创建第二个新对象,它自己的 details
属性为空数组。
$login->do_login();
这将填充$login
对象的details
数组。 $user
对象details
仍为空。
要访问已填充的数组:
$login->details['username'];