Quand et pourquoi l'attribution de la valeur de retour de new par référence est-elle obsolète ?

Susan Sarandon
Libérer: 2024-10-24 04:12:30
original
838 Les gens l'ont consulté

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

Attribution de la valeur de retour de new par dépréciation de référence

Énoncé du problème

Tentative d'attribuer la valeur de retour de new par reference déclenche l'erreur PHP "L'attribution de la valeur de retour de new par référence est obsolète."

Explication détaillée

Cette erreur se produit lorsque vous essayez d'attribuer le résultat de new (utilisé pour créer un nouvel objet) à une variable en utilisant l'opérateur de référence (&). En PHP4, cet idiome était couramment utilisé pour passer la référence d'un objet à une autre variable. Cependant, en PHP5, cette pratique est obsolète en raison d'une utilisation abusive potentielle et de confusion.

Solution

La syntaxe correcte pour attribuer une référence d'objet est :

<code class="php">$variableName =& $objectName;</code>
Copier après la connexion

Dans l'exemple fourni, le code devrait plutôt être :

<code class="php">$obj_md =& $mdb2;</code>
Copier après la connexion

Remarque supplémentaire

L'idiome obsolète attribue la valeur de retour de new directement à une variable utilisant l'opérateur de référence. Par exemple :

<code class="php">$obj_md =& new MDB2();</code>
Copier après la connexion

Cette pratique était non seulement obsolète dans PHP5, mais entraînait également un comportement inattendu si la variable était définie précédemment.

Pour éviter l'avertissement de dépréciation et garantir que le code se comporte correctement , utilisez la syntaxe révisée avec l'opérateur =& pour attribuer des références aux objets.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal