Wie lautet die Zugriffssyntax für PHP-Objekteigenschaften?
P粉966335669
P粉966335669 2023-08-22 19:45:26
0
2
679
<p><strong>Wie greife ich auf die Eigenschaften eines PHP-Objekts zu? </strong></p> <p>Was ist außerdem der Unterschied zwischen dem Zugriff auf Objekteigenschaften mit <code>$this->$property1</code> und <code>$this->property1</code>? </p> <p>Wenn ich versuche, <code>$this->$property1</code> zu verwenden, erhalte ich die folgende Fehlermeldung: </p> <blockquote> <p>'PHP: Auf die Null-Eigenschaft kann nicht zugegriffen werden'. </p> </blockquote> <p>In der Objekteigenschaftendokumentation von PHP gibt es einen Kommentar, der dieses Problem erwähnt, es jedoch nicht im Detail erläutert. </p>
P粉966335669
P粉966335669

Antworte allen(2)
P粉143640496

$this->property1 的意思是:

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

$this->$property1 的意思是:

评估字符串 $property1 并使用结果获取由 $property1 结果命名的变量,该变量绑定到该对象

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

在类的一般用法中,不需要使用"$",否则你将调用一个名为$property1的变量,它可以取任何值。

示例:

class X {
  public $property1 = 'Value 1';
  public $property2 = 'Value 2';
}
$property1 = 'property2';  // 属性2的名称
$x_object = new X();
echo $x_object->property1; // 返回 'Value 1'
echo $x_object->$property1; // 返回 'Value 2'
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage