Heim >Backend-Entwicklung >PHP-Tutorial >Wie behebe ich die veraltete Call-Time-Pass-by-Reference-Warnung von PHP?

Wie behebe ich die veraltete Call-Time-Pass-by-Reference-Warnung von PHP?

Linda Hamilton
Linda HamiltonOriginal
2024-12-11 04:04:14152Durchsuche

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

VERALTETE CALL-TIME PASS-BY-REFERENCE IN PHP

Es ist eine Warnung bezüglich Call-Time Pass-by-Reference aufgetreten, was veraltet ist. Dies bedeutet, dass die folgenden Codezeilen die Warnung verursachen:

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

Erläuterung der veralteten Funktion

Call-time Pass-by-Reference ermöglicht die Simulation des Verhaltens Argumente als Referenz zu übergeben, wenn sie als Wert übergeben werden. Dies ist jedoch nicht mehr notwendig oder empfohlen.

Außerdem ist die Übergabe von Objekten per Referenz auch nicht mehr notwendig, da Objekte immer geändert werden, wenn sie an Funktionen übergeben werden.

So beheben Sie das Warnung

Um die Warnung zu beheben, entfernen Sie einfach die &-Symbole aus den Variablenreferenzen. Der Code sollte wie folgt geändert werden:

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

Das obige ist der detaillierte Inhalt vonWie behebe ich die veraltete Call-Time-Pass-by-Reference-Warnung von PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn