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

时间:2014-07-24 06:01:08

标签: 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 (...)
Fatal error: Cannot access empty property in (...)

我希望输出像

Name

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

3 个答案:

答案 0 :(得分:3)

摆脱第二个$。您可以使用$bd->name;访问它。同样适合课堂内部。将$this->name代替$this->$name放在那里。

通常情况下,不要$运营商之后添加->

请查看PHP Documentation以供参考。

答案 1 :(得分:1)

避免使用名称前的$符号。

应该像echo $bd->name; ..

答案 2 :(得分:1)

首先修复您的类代码:

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

应该是这样的:

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

这将允许您像这样访问它:

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

在此comment

中解决您的问题

你得到那个错误,因为你没有实例化那个变量。

你应该这样做:

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