Le passage par référence de l'heure d'appel est obsolète : compréhension et résolution
Avertissement de PHP "Le passage par référence de l'heure d'appel a été obsolète" indique l'utilisation obsolète du symbole & pour transmettre des variables par référence lors des appels de fonction. Cette pratique est déconseillée depuis des années et PHP 8 l'a officiellement dépréciée.
Causes de la dépréciation :
Dans les anciennes versions de PHP, passer des variables par référence en utilisant le Le symbole & était nécessaire pour modifier les objets passés en arguments. Cependant, les versions modernes de PHP prennent en charge nativement le passage d'objets par valeur mais se comportent comme s'ils étaient passés par référence. Cela signifie que la modification d'un objet au sein d'une fonction modifie également l'objet d'origine.
Résolution :
Pour résoudre l'avertissement de dépréciation et assurer la compatibilité du code avec les futures versions de PHP, supprimez les symboles & des lignes de code où les variables sont passées par référence.
Dans votre code fourni, les symboles & peuvent être supprimés comme suit :
function XML() { $this->parser = xml_parser_create(); xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, false); xml_set_object($this->parser, $this); xml_set_element_handler($this->parser, 'open', 'close'); xml_set_character_data_handler($this->parser, 'data'); } function destruct() { xml_parser_free($this->parser); } function parse($data) { $this->document = array(); $this->stack = array(); $this->parent = &$this->document; return xml_parse($this->parser, $data, true) ? $this->document : NULL; }
Considérations supplémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!