Heim  >  Artikel  >  Backend-Entwicklung  >  Warum ist die Zuweisung per Referenz vom Rückgabewert des „neuen“ Ausdrucks in PHP veraltet?

Warum ist die Zuweisung per Referenz vom Rückgabewert des „neuen“ Ausdrucks in PHP veraltet?

DDD
DDDOriginal
2024-10-24 04:29:30938Durchsuche

Why is Assigning by Reference from the Return Value of

Veraltete Zuweisung per Referenz

In früheren PHP-Versionen war es üblich, Objekte und andere Datenstrukturen per Referenz zuzuweisen, indem „ &"-Operator. Diese Vorgehensweise ist jedoch in PHP5 und höher veraltet. Beim Versuch, den Rückgabewert eines „neuen“ Ausdrucks per Referenz zuzuweisen, stoßen Entwickler möglicherweise auf die Fehlermeldung „Die Zuweisung des Rückgabewerts von new per Referenz ist veraltet.“

Der Grund für die Ablehnung

Die Abschaffung der Zuweisung per Referenz aus einem „neuen“ Ausdruck soll die Wartbarkeit und Leistung des Codes verbessern. Standardmäßig werden mit „new“ erstellte Objekte als Wert übergeben, wodurch sichergestellt wird, dass jedes Objekt über einen eigenen Speicherplatz verfügt. Das Zuweisen nach Referenz kann bei der Arbeit mit mehreren Objekten zu Verwirrung und unerwarteten Nebenwirkungen führen, da an einem Objekt vorgenommene Aktualisierungen versehentlich Auswirkungen auf andere Objekte haben können, die dieselbe Referenz haben.

Fehlerbehebung

Um dieses Problem zu beheben, entfernen Sie einfach den Operator „&“ aus der Zuweisungsanweisung. Der folgende Code ist in PHP5 und höher gültig:

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

Wenn der Fehler auch nach dem Entfernen des „&“-Operators weiterhin besteht, überprüfen Sie Ihren Code auf mögliche Syntaxfehler oder Konflikte mit anderen PHP-Einstellungen. Einige PHP-Konfigurationen erlauben möglicherweise immer noch veraltete Funktionen, daher wird empfohlen, Ihre error_reporting-Einstellungen in Ihrer php.ini-Datei zu überprüfen.

Das obige ist der detaillierte Inhalt vonWarum ist die Zuweisung per Referenz vom Rückgabewert des „neuen“ Ausdrucks in PHP 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