Wie greife ich auf Eigenschaften in PHP zu?
P粉518799557
P粉518799557 2023-09-05 18:50:40
0
1
614
<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>
P粉518799557
P粉518799557

Antworte allen(1)
P粉600845163

这是一个高度抽象的过程,语法的相似并不意味着代码会像C/C++那样“掉入”工作。你可以深入代码来看看它在底层是如何工作的。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage