访问PHP对象属性的语法是什么?

Don*_*n P 17 php oop properties getter-setter

你如何访问PHP对象的属性?

另外,访问对象的属性$this->$property1$this->property1?之间的区别是什么 ?

当我尝试使用时,$this->$property1我收到以下错误:

'PHP:无法访问空房产'.

关于对象属性的PHP 文档有一个注释提到了这一点,但注释并没有真正深入解释.

Spo*_*men 13

  1. $property1 //特定变量
  2. $this->property1 //特定属性

对类的一般用法是没有"$"你否则调用一个$property1可以取任何值的变量.

例:

class X {
  public $property1 = 'Value 1';
  public $property2 = 'Value 2';
}
$property1 = 'property2';  //Name of attribute 2
$x_object = new X();
echo $x_object->property1; //Return 'Value 1'
echo $x_object->$property1; //Return 'Value 2'
Run Code Online (Sandbox Code Playgroud)


Jvd*_*erg 11

$this->property1 手段:

使用该对象并获取绑定到此对象的变量property1

$this->$property1 手段:

计算字符串$ property1并使用结果获取由$ property1命名的变量绑定到此对象的结果