Fonction PAssage par Référence [Résolu]

Messages postés
2382
Date d'inscription
lundi 4 février 2002
Dernière intervention
29 décembre 2012
- - Dernière réponse : FhX
Messages postés
2368
Date d'inscription
mercredi 13 octobre 2004
Dernière intervention
18 avril 2015
- 10 oct. 2006 à 20:24
Bonjour,

Je reprends un ancien site avec des passages de paramètres par référence dans mes fonctions.

J'obtiens l'erreur:

- Call-time pass-by-reference has been deprecated

Je ne désire pas toucher au PHP.ini

que puis-je faire pour éviter cela ?  Pourtant c'est bien pratique le passage par référence..

Merci de votre aide.

S.
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
32
3
Merci
Encore une fois, je n'ai pas dit ça...
Je vais réexpliquer de façon plus claire, avec un exemple :
<?php
function test (& $maVar) {
    $maVar ++;
}

$a= 1;
test ($a);
echo $a;
?>

Ici, ok.
<?php

function test ($maVar) {

    $maVar ++;

}


$a= 1;

test (& $a);

echo $a;

?>
Ici, tu auras ton warning.

<?php


function test (& $maVar) {


    $maVar ++;


}



$a= 1;


test (& $a);


echo $a;


?>
Ici aussi.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 115 internautes nous ont dit merci ce mois-ci

Commenter la réponse de malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
32
0
Merci
Hello,

c'est un changement de version de PHP.
Le passage par référence dans les objets notamment est maintenant implicite. Ce n'est plus une copie. Du coup & $maVar ne sert plus à rien.
Bref, supprime les & là où tu as ce warning.
Commenter la réponse de malalam
Messages postés
2382
Date d'inscription
lundi 4 février 2002
Dernière intervention
29 décembre 2012
11
0
Merci
Donc si j'ai bien compris il y a écrasement de la variable si j'ai la
maladresse de nommer deux variables à espace différent mais de même nom
??

pas besoin de 'global' ou autres ??

je trouve ça bizarre..

S.
Commenter la réponse de syndrael
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
32
0
Merci
Je n'ai pas dit que le passage par référence n'existait plus. J'ai dit que dans certains cas, il était déprécié.
Montre plutôt un exemple de code où tu as ce warning.
Commenter la réponse de malalam
Messages postés
2382
Date d'inscription
lundi 4 février 2002
Dernière intervention
29 décembre 2012
11
0
Merci
C'est bête à dire, mais le mot Déprécié me donne des boutons.. De
mauvais souvenirs de fonctions à recoder durant la nuit en 4ème vitesse
en Java... Donc est-ce le passage par référence va disparaitre ?
sera-t-il présent sous une autre forme ? Le but n'est pas de débugger
mon code mais de comprendre un peu ce ki va se passer dans le futur..

Je veux plus reprendre du vieux code pour le corriger... et en plus
encore moins celui ke je suis en train de faire à l'heure actuelle.

S.
Commenter la réponse de syndrael
Messages postés
2368
Date d'inscription
mercredi 13 octobre 2004
Dernière intervention
18 avril 2015
4
Commenter la réponse de FhX

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.