|
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é parfunction 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 casil 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 warningcela 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
[Prev in Thread] | Current Thread | [Next in Thread] |