Я интегрирую сторонний код в веб-приложение, которое пишу в Zend Framework.
Код, который я хочу интегрировать, объявляет переменные как глобальные. Он работает сам по себе, но не тогда, когда я включаю его в Zend Framework. Первоначально я подозревал, что в Zend Framework есть что-то, что запрещает объявление глобальных переменных. У меня есть следующий тестовый код в контроллере:
public function testglobalAction()
{
$a = 1;
function b()
{
global $a;
echo $a*2;
}
b();
}
Когда я запускаю, он выводит 0, а не 2. Кроме того, при запуске того же самого кода на том же веб-сервере он печатает 2.
Я понимаю, что мог бы заменить все глобальные экземпляры для использования Zend Registry. Тем не менее, grep показал мне, что мне нужно поменять примерно 700 строк, так что в настоящий момент это невозможно.
Кто-нибудь знает, как я могу решить эту проблему?