dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dolibarr-dev] Errata: Warning php du a un pass age de variable par réfé


From: Eldy
Subject: [Dolibarr-dev] Errata: Warning php du a un pass age de variable par référence sur une fonction décla rée par valeur
Date: Fri, 10 Dec 2004 20:38:54 +0100
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

Eldy wrote:


Dans la classe societe.class.php on trouve

   return $mod->verif($this->db, &$this->code_client);

avec le code_client qui est passé par référence à l'appel et la fonction appelé qui est déclaré par

 function verif($db, $code, $socid=0)


Hors sur les versions récentes de php, ce code est deprecated. Il est question de l'interdire bientot. En effet, soit on a besoin de passé le paramètre par valeur et dans ce cas il faut mettre au niveau de l'appelant :
   return $mod->verif($this->db, $this->code_client);

Sans le "&"

soit on a besoin de la passé par référence car la variable est modifiée au sein de la fonction et dans ce cas
il faut modifier la déclaration de la fonction par
 function verif($db, &$code, $socid=0)

Avec le "&"

Ne sachant pas laquelle des 2 options est voulue (le php lui même ne sait pas et dans le doute il l'a passe par valeur sauf si on spécifie allow_call_time_pass_reference à true dans son ini, ce qui n'est pas la valeur par défaut), je ne peux donc corriger. Peux-tu corriger cela rodolphe car cela fait planté mon php et pour ceux qui désactivent la warning
cela risque de ne pas marcher comme prévu.


Dans tous les cas, le & au niveau de l'appelant n'est plus permis.

--
Laurent Destailleur.
---------------------------------------------------------------
EMail: address@hidden
AWStats : http://awstats.sourceforge.net
AWBot : http://awbot.sourceforge.net
CVSChangeLogBuilder : http://cvschangelogb.sourceforge.net






reply via email to

[Prev in Thread] Current Thread [Next in Thread]