Maison >développement back-end >tutoriel php >Comment corriger l'avertissement de passage par référence de temps d'appel obsolète de PHP ?

Comment corriger l'avertissement de passage par référence de temps d'appel obsolète de PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-11 04:04:14201parcourir

How to Fix PHP's Deprecated Call-Time Pass-by-Reference Warning?

PASSAGE PAR RÉFÉRENCE DU TEMPS D'APPEL DÉCONSEILLÉ EN PHP

Un avertissement a été rencontré concernant le passage par référence du temps d'appel, qui est obsolète. Cela signifie que les lignes de code suivantes provoquent l'avertissement :

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');
}

Explication de la dépréciation

Le passage par référence au moment de l'appel permet de simuler le comportement de passer des arguments par référence lorsqu'ils sont passés par valeur. Cependant, cela n'est plus nécessaire ni recommandé.

De plus, passer des objets par référence n'est plus nécessaire car les objets sont toujours modifiés lorsqu'ils sont passés aux fonctions.

Comment résoudre le problème Avertissement

Pour résoudre l'avertissement, supprimez simplement les symboles & des références de variables. Le code est à modifier 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');
}

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn