globale Variablen in PHP funktionieren nicht wie erwartet

Ich habe Probleme mit globalen Variablen in PHP. Ich habe ein$screen var wird in einer Datei festgelegt, für die eine andere Datei erforderlich ist, die eininitSession() in noch einer anderen Datei definiert. DasinitSession() erklärtglobal $screen und verarbeitet dann $ screen weiter unten mit dem Wert, der im allerersten Skript festgelegt wurde.

Wie ist das möglich?

Wenn Sie versuchen, $ screen erneut festzulegen, rufen Sie das Symbol aufinitSession()verwendet es den Wert, der zuerst noch einmal verwendet wurde. Der folgende Code beschreibt den Vorgang. Könnte jemand versuchen, dies zu erklären?

$screen = "list1.inc";            // From model.php
require "controller.php";         // From model.php
initSession();                    // From controller.php
global $screen;                   // From Include.Session.inc  
echo $screen; // prints "list1.inc" // From anywhere
$screen = "delete1.inc";          // From model2.php
require "controller2.php"         
initSession();
global $screen;
echo $screen; // prints "list1.inc" 

Aktualisieren:
Wenn ich erkläre$screen Wieder global, kurz bevor das zweite Modell benötigt wird, wird $ screen korrekt für das aktualisiertinitSession() Methode. Seltsam.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage