Zend Framework で作成している Web アプリケーションにサードパーティのコードを統合しています。
統合したいコードは、変数をグローバルとして宣言しています。それ自体は機能しますが、Zend Framework に含めると機能しません。最初は、グローバル変数の宣言を無効にしている Zend Framework に何かがあるのではないかと疑っていました。コントローラーに次のテストコードがあります。
public function testglobalAction()
{
$a = 1;
function b()
{
global $a;
echo $a*2;
}
b();
}
実行すると、2 ではなく 0 が出力されます。さらに、同じ Web サーバーで同じコードを単独で実行すると、2 が出力されます。
Zend Registry を使用するために、すべてのグローバル インスタンスを置き換えることができることを理解しています。ただし、grep を実行すると、約 700 行を変更する必要があることがわかりました。現時点では実行できません。
この問題を解決する方法を知っている人はいますか?