我想合并两个 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() 的范围内。
一种可能的解决方法是调用global $var1
load1() ,但这会混合两个全局范围(混乱)并且会很复杂,因为 reallive project2 有许多全局变量,我必须检查每次更新是否有任何新变量。
因此,如果我可以为 project1 创建一个单独的全局范围,那将是最好的。那可能吗?