PHPのグローバル変数に問題があります。あるファイルにvarセットがあり、さらに別のファイルで定義され$screen
たファイルを呼び出す別のファイルが必要です。宣言してからinitSession()
、最初のスクリプトで設定された値を使用して$screenをさらに下に処理します。initSession()
global $screen
これはどのように可能ですか?
さらに混乱させるために、$ screenを再度設定してからを呼び出すと、initSession()
最初に使用された値が再度使用されます。次のコードはプロセスを説明します。誰かがこれを説明することに挑戦することができますか?
$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"
更新:2番目のモデルが必要になる直前にグローバルを再度
宣言すると、$screenがメソッドに対して適切に更新されます。変。$screen
initSession()