Heim >Backend-Entwicklung >PHP-Tutorial >Wann und warum ist die Zuweisung des Rückgabewerts von new per Referenz veraltet?

Wann und warum ist die Zuweisung des Rückgabewerts von new per Referenz veraltet?

Susan Sarandon
Susan SarandonOriginal
2024-10-24 04:12:30872Durchsuche

When and Why Is Assigning the Return Value of new by Reference Deprecated?

Zuweisen des Rückgabewerts von new by Referenzveraltung

Problembeschreibung

Versuch, den Rückgabewert von new by zuzuweisen Referenz löst den PHP-Fehler „Das Zuweisen des Rückgabewerts von new per Referenz ist veraltet“ aus.

Ausführliche Erklärung

Dieser Fehler tritt auf, wenn versucht wird, das Ergebnis von zuzuweisen new (wird zum Erstellen eines neuen Objekts verwendet) in eine Variable mithilfe des Referenzoperators (&). In PHP4 wurde diese Redewendung häufig verwendet, um die Referenz eines Objekts an eine andere Variable zu übergeben. In PHP5 wurde diese Vorgehensweise jedoch aufgrund von potenziellem Missbrauch und Verwirrung abgelehnt.

Lösung

Die korrekte Syntax zum Zuweisen einer Objektreferenz lautet:

<code class="php">$variableName =& $objectName;</code>

Im bereitgestellten Beispiel sollte der Code stattdessen lauten:

<code class="php">$obj_md =& $mdb2;</code>

Zusätzlicher Hinweis

Die veraltete Redewendung weist den Rückgabewert von new direkt zu eine Variable mit dem Referenzoperator. Zum Beispiel:

<code class="php">$obj_md =& new MDB2();</code>

Diese Vorgehensweise war nicht nur in PHP5 veraltet, sondern führte auch zu unerwartetem Verhalten, wenn die Variable zuvor definiert wurde.

Um die Veraltungswarnung zu vermeiden und sicherzustellen, dass sich der Code korrekt verhält , verwenden Sie die überarbeitete Syntax mit dem =&-Operator, um Referenzen auf Objekte zuzuweisen.

Das obige ist der detaillierte Inhalt vonWann und warum ist die Zuweisung des Rückgabewerts von new per Referenz veraltet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn