PHP 5.4 Call-time Pass-by-Reference : une solution simple démystifiée
L'erreur PHP "Erreur fatale : Call-time pass -by-reference has been delete" se produit lorsque des variables sont passées comme références à des fonctions, une pratique désormais obsolète dans PHP 5.4. Cette erreur peut être répandue dans le code existant qui utilise largement les références. Bien que réécrire l'intégralité de la base de code puisse sembler intimidant, il existe une solution simple pour résoudre ce problème.
Contrairement à la croyance populaire, le signe de référence doit être inclus dans la définition de la fonction, et non dans l'appel de la fonction. Dans PHP 5.4, l'utilisation de "&" dans les appels de fonction est obsolète et déclenche des messages d'avertissement. Pour résoudre ce problème, spécifiez la référence dans la définition de la fonction.
Guide de documentation PHP
La documentation PHP indique : "Il n'y a pas de signe de référence sur un appel de fonction - seulement sur les définitions de fonctions." Cela signifie que la définition de la fonction établit seule un comportement de passage par référence pour l'argument.
Utilisation correcte :
Au lieu d'utiliser la syntaxe obsolète :
myFunc(&$arg);
Utilisez la syntaxe suivante :
myFunc($arg);
Dans la fonction définition :
function myFunc(&$arg) { }
En adhérant à ces directives, vous pouvez facilement corriger le problème de passage par référence de l'heure d'appel et éliminer les erreurs associées dans votre code.
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!