Page 1 sur 1

erreur php

Posté : 18 août 2014, 10:21
par Sergio36
Quelqu'un pourrait-il m'expliquer le code d'erreur suivant :
[ 8192] Call-time pass-by-reference has been deprecated

merci d'avance

Serge

Re: erreur php

Posté : 18 août 2014, 11:23
par @rthur
Je dirai que tu utilises un script PHP qui a été développé il y a plus de 10 ans :
:arrow: Félicitations, il est temps de faire du refactoring ! :-)

En gros, dans les anciennes versions de PHP, il était possible de passer des variables par référence à une fonction en ajoutant un "&" devant le nom d'une variable en paramètre d'une fonction.

+ d'infos :
http://php.net/manual/fr/language.references.php
http://php.net/manual/fr/ini.core.php#i ... compliance

Re: erreur php

Posté : 19 août 2014, 08:42
par sirakawa
Exactement, on pouvait et on peut toujours passer une variable par référence (les modifications de cette variable effectuées dans la fonction sont conservées au sortir de la fonction)
Ce qui change c'est la syntaxe:
avant
<
?php
function foo($var) {
  $var++;
}
$a=5;
foo (&$a);
// $a vaut 6 maintenant
?>
maintenant
<?php
function foo(&$var) {
  $var++;
}
$a=5;
foo ($a);
// $a vaut 6 maintenant
?>
Il te faut donc modifier la déclaration de cette fonction et chercher tous ses appels....