2 つの php プロジェクトをマージしたいと考えています。どちらのプロジェクトもグローバル変数を使用しているため、個別のグローバル スコープが必要です。
例:
ファイル project1.php:
$var1 = 'var1';
function print1() {
global $var1;
echo $var1;
}
print1();
ファイル project2.php:
function load1() {
include('project1.php');
}
$var2 = 'var2';
function print2() {
global $var2;
echo $var2;
}
print2();
load1();
これにより、project2 は期待どおりに実行されますが、project1 は失敗します。これは、$var1 がグローバル スコープではなく、load1() のスコープ内にあるためです。
考えられる修正の 1 つはglobal $var1
、load1() を呼び出すことですが、これでは 2 つのグローバル スコープが混在し (乱雑)、複雑になります。なぜなら、reallive project2 には多くのグローバル変数があり、更新ごとに新しい変数があるかどうかを確認する必要があるからです。
したがって、project1 用に別のグローバル スコープを作成できれば最高です。それは可能ですか?