Maison  >  Article  >  développement back-end  >  Pourquoi l'affectation par référence à partir de la valeur de retour de l'expression « nouvelle » est-elle obsolète en PHP ?

Pourquoi l'affectation par référence à partir de la valeur de retour de l'expression « nouvelle » est-elle obsolète en PHP ?

DDD
DDDoriginal
2024-10-24 04:29:30938parcourir

Why is Assigning by Reference from the Return Value of

Affectation obsolète par référence

Dans les versions antérieures de PHP, il était courant d'attribuer des objets et d'autres structures de données par référence en utilisant le " &" opérateur. Cependant, cette pratique est obsolète dans PHP5 et versions ultérieures. Lorsqu'ils tentent d'attribuer la valeur de retour d'une "nouvelle" expression par référence, les développeurs peuvent rencontrer le message d'erreur "L'attribution de la valeur de retour de new par référence est obsolète."

La raison de la dépréciation

La dépréciation de l'affectation par référence à partir d'une "nouvelle" expression vise à améliorer la maintenabilité et les performances du code. Par défaut, les objets créés avec « new » sont transmis par valeur, garantissant que chaque objet dispose de son propre espace mémoire. L'attribution par référence peut entraîner une confusion et des effets secondaires inattendus lorsque vous travaillez avec plusieurs objets, car les mises à jour apportées à un objet peuvent accidentellement affecter d'autres objets partageant la même référence.

Résolution des erreurs

Pour résoudre ce problème, supprimez simplement l'opérateur "&" de l'instruction d'affectation. Le code suivant est valide en PHP5 et versions ultérieures :

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

Si l'erreur persiste même après la suppression de l'opérateur "&", vérifiez votre code pour détecter d'éventuelles erreurs de syntaxe ou des conflits avec d'autres paramètres PHP. Certaines configurations PHP peuvent encore autoriser des fonctionnalités obsolètes, il est donc recommandé de vérifier vos paramètres error_reporting dans votre fichier php.ini.

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!

Déclaration:
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