Wie greife ich auf Eigenschaften in PHP zu?
<p>Follow-up basierend auf diesem Dokument: https://www.php.net/manual/en/sprache.oop5.references.php</p>
<blockquote>
<p>Ein wichtiger Punkt der objektorientierten PHP-Programmierung, der oft erwähnt wird, ist, dass „Objekte standardmäßig als Referenz übergeben werden“. Das ist nicht ganz richtig. </p>
</blockquote>
<blockquote>
<p>In PHP enthalten Objektvariablen nicht das Objekt selbst als Wert. Es enthält lediglich einen Objektbezeichner, der es Objektzugriffsberechtigten ermöglicht, das tatsächliche Objekt zu finden. </p>
</blockquote>
<p>Wie funktioniert das eigentlich? Beispielsweise scheint der Pfeiloperator in C++ den Zeiger implizit zu dereferenzieren und dann auf die Eigenschaft zuzugreifen, als ob auf die Objektvariable selbst zugegriffen würde. </p>
<p>So verstehe ich es:</p>
<pre class="brush:php;toolbar:false;">obj->prop
(*obj).prop // Entspricht der obigen Zeile</pre>
<p>Das sieht sehr ordentlich aus. In beiden Fällen ist der Eigenschaftsaufruf die Summe aus der Objektvariablenadresse und dem Eigenschaftsoffset. </p>
<p>Aber wie funktioniert das in PHP?
Die Dokumentation legt nahe, dass ein Zeiger keine Speicheradresse, sondern einen „Objektbezeichner“ speichert. Ist der Zugriff auf Eigenschaften in PHP ein hochabstrakter Prozess, oder löst es die Objektkennung in eine Speicheradresse auf und greift dann ähnlich wie in C++/Java usw. darauf zu? </p>