Fonction PAssage par Référence

Résolu
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 - 10 oct. 2006 à 10:55
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre 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.

6 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 oct. 2006 à 14:30
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.
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 oct. 2006 à 11:03
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.
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
10 oct. 2006 à 11:45
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.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 oct. 2006 à 11:57
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
10 oct. 2006 à 14:07
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.
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
10 oct. 2006 à 20:24
0
Rejoignez-nous