如何在类之外访问PHP对象属性?

如何在类之外访问PHP对象属性?,php,variables,object,scope,Php,Variables,Object,Scope,例如,假设我有一个包含此代码的文件“other.php” class Building { public $name; function __construct($name) { $this->$name = $name; } } $bd = new Building("Name"); echo $bd->$name; 这将返回如下错误: Notice: Undefined variable: name in (...) Fata

例如,假设我有一个包含此代码的文件“other.php”

class Building
{
    public $name;

    function __construct($name)
    {
        $this->$name = $name;
    }
}

$bd = new Building("Name");
echo $bd->$name;
这将返回如下错误:

Notice: Undefined variable: name in (...)
Fatal error: Cannot access empty property in (...)
$bd = new Building("Name");
echo $bd->name;
我希望有一个像这样的输出

Name

如何以这种方式访问PHP对象属性?谢谢。

摆脱第二个
$
。您可以使用
$bd->name访问它。在课堂上也是如此。将
$this->name
而不是
$this->$name
放在那里

通常,只要不要在
->
操作符后放置
$


请查看以供参考。

去掉第二个
$
。您可以使用
$bd->name访问它。在课堂上也是如此。将
$this->name
而不是
$this->$name
放在那里

通常,只要不要在
->
操作符后放置
$


查看以供参考。

避免在名称前使用
$
符号


它应该像
echo$bd->name

避免在名称前使用
$
符号


它应该像
echo$bd->name

首先修复类代码:

function __construct($name)
{
    $this->$name = $name;
}
应该是这样的:

function __construct($name)
{
    $this->name = $name;
}
这将允许您像这样访问它:

Notice: Undefined variable: name in (...)
Fatal error: Cannot access empty property in (...)
$bd = new Building("Name");
echo $bd->name;

在这方面解决您的问题

您得到该错误是因为您没有实例化该变量

您应该这样做:

$buildings_HSB = new Building("Name");
echo $buildings_HSB->name;

首先修复您的类代码:

function __construct($name)
{
    $this->$name = $name;
}
应该是这样的:

function __construct($name)
{
    $this->name = $name;
}
这将允许您像这样访问它:

Notice: Undefined variable: name in (...)
Fatal error: Cannot access empty property in (...)
$bd = new Building("Name");
echo $bd->name;

在这方面解决您的问题

您得到该错误是因为您没有实例化该变量

您应该这样做:

$buildings_HSB = new Building("Name");
echo $buildings_HSB->name;

这样做似乎可以消除错误,但没有输出。在课堂上也是如此。您可以使用
$this->$name
访问它,而实际上它应该是
$this->name
。当我使用
将该文件包含在index.php中,然后在我的index.php中写入
时,会出现错误<代码>注意:未定义变量:buildings_HSB in(…)
注意:尝试获取(…)
中非对象的属性这是另一个HTML文件,我正在执行
,然后执行
,并收到上面列出的错误。这样做似乎可以删除错误,但没有输出。在课堂上也是如此。您可以使用
$this->$name
访问它,而实际上它应该是
$this->name
。当我使用
将该文件包含在index.php中,然后在我的index.php中写入
时,会出现错误<代码>注意:未定义变量:buildings_HSB in(…)
注意:尝试获取(…)
中非对象的属性这是另一个HTML文件,我正在执行
,然后执行
,并收到上面列出的错误。