我正在将第三方代码集成到我在 Zend Framework 中编写的 Web 应用程序中。
我要集成的代码将变量声明为全局变量。它独立工作,但当我将它包含在 Zend Framework 中时就不行了。最初我怀疑 Zend Framework 中有一些东西禁用了全局变量的声明。我在控制器中有以下测试代码:
public function testglobalAction()
{
$a = 1;
function b()
{
global $a;
echo $a*2;
}
b();
}
当我运行它时,它会打印出 0,而不是 2。除此之外,在同一个 Web 服务器中单独运行相同的代码会打印出 2。
我知道我可以替换所有全局实例来使用 Zend Registry。但是,一个 grep 显示我大约有 700 行需要更改,因此目前不可行。
有谁知道我该如何解决这个问题?