Heim  >  Fragen und Antworten  >  Hauptteil

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>
P粉518799557P粉518799557433 Tage vor578

Antworte allen(1)Ich werde antworten

  • P粉600845163

    P粉6008451632023-09-06 11:33:11

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

    Antwort
    0
  • StornierenAntwort