Maison > développement back-end > tutoriel php > Comment puis-je corriger l'erreur PHP 5.4 « Le passage par référence au moment de l'appel a été supprimé » ?

Comment puis-je corriger l'erreur PHP 5.4 « Le passage par référence au moment de l'appel a été supprimé » ?

Barbara Streisand
Libérer: 2024-11-28 07:40:13
original
256 Les gens l'ont consulté

How Can I Fix the PHP 5.4

Résolution du problème de passage par référence des heures d'appel de PHP 5.4

L'introduction de PHP 5.4 a marqué la suppression du passage des heures d'appel. par référence, ce qui entraîne l'erreur redoutée "Le passage par référence au moment de l'appel a été supprimé". Cette erreur se produit lorsque des variables sont transmises à des fonctions en tant que références dans du code existant.

Résolution facile ou réécriture complète ?

Il n'existe pas de solution simple à ce problème. Le problème vient de la façon dont les références sont déclarées dans les définitions de fonctions, et non dans les appels de fonction. La documentation de PHP indique que "Il n'y a pas de signe de référence sur un appel de fonction - uniquement sur les définitions de fonction."

Réécrire le code hérité

Depuis que PHP a commencé à émettre des erreurs de dépréciation pour l'appel -time pass-by-reference dans la version 5.3, il est fortement recommandé de réécrire le code existant pour éviter d'éventuels problèmes de compatibilité dans le futur.

Exemple de réécriture

Au lieu de :

// Wrong way!
myFunc(&$arg); // Deprecated pass-by-reference argument
function myFunc($arg) { }
Copier après la connexion

Utiliser :

// Right way!
myFunc($arg); // pass-by-value argument
function myFunc(&$arg) { }
Copier après la connexion

En déclarant des références dans la fonction définitions, vous vous assurez que PHP transmettra les arguments par référence sans avoir besoin d'une syntaxe obsolète dans les appels de fonction.

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.cn
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