Erreur de passage par référence lors de l'appel : correction facile ou réécriture du code hérité ?
Les développeurs PHP peuvent rencontrer le message « Call-time "pass-by-reference a été supprimé", en particulier dans le code existant où les variables sont transmises aux fonctions comme références. Cet avertissement de dépréciation, introduit dans PHP 5.3, indique que l'utilisation du symbole & au moment de l'appel pour le passage par référence est obsolète.
Correction facile ou réécriture ?
Malheureusement, il n’existe pas de solution simple à ce problème. La pratique déconseillée implique l'utilisation du signe de référence (&) dans l'appel de fonction, ce qui est incorrect. Selon la documentation PHP, le signe de référence appartient à la définition de la fonction, pas à l'appel lui-même.
Solution recommandée : réécrire le code
Pour résoudre ce problème, il est conseillé pour réécrire le code concerné. Étant donné que PHP émet des avertissements de dépréciation pour cette pratique depuis la version 5.3, il est préférable de mettre à jour le code pour se conformer à l'approche recommandée.
Exemple
Utilisation correcte :
function myFunc(&$arg) { } myFunc($var);
Incorrect utilisation :
function myFunc($arg) { } myFunc(&$arg);
Conclusion
Bien qu'il puisse sembler intimidant de réécrire du code existant, il est essentiel de corriger ces erreurs de dépréciation pour garantir la compatibilité avec les versions actuelles et futures de PHP. En mettant à jour le code pour utiliser la syntaxe correcte, les développeurs peuvent éviter les erreurs potentielles et maintenir une expérience de codage transparente.
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!