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

syndrael
Messages postés
2382
Date d'inscription
lundi 4 février 2002
Dernière intervention
29 décembre 2012
- 10 oct. 2006 à 10:55 - 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
malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 10 oct. 2006 à 14:30
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.

Merci malalam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de malalam
malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 10 oct. 2006 à 11:03
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
syndrael
Messages postés
2382
Date d'inscription
lundi 4 février 2002
Dernière intervention
29 décembre 2012
- 10 oct. 2006 à 11:45
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
malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 10 oct. 2006 à 11:57
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
syndrael
Messages postés
2382
Date d'inscription
lundi 4 février 2002
Dernière intervention
29 décembre 2012
- 10 oct. 2006 à 14:07
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
FhX
Messages postés
2368
Date d'inscription
mercredi 13 octobre 2004
Dernière intervention
18 avril 2015
- 10 oct. 2006 à 20:24
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.