У меня есть PHP-скрипт, который отлично работает в PHP 5, но не в PHP 4. Я сделал небольшой тестовый пример, чтобы вы продемонстрировали его (отказ от ответственности: я знаю, что приведенный ниже код может быть написан намного лучше, но этоне фактически используемый кусок, скорее тот, который демонстрирует то, о чем я говорю):
class Messenger {
var $messages = '';
function add($message) {
$this->messages .= "$message\n";
}
}
function add($m) {
if (! isset($GLOBALS['instance'])) $GLOBALS['instance'] = new Messenger();
call_user_func_array(array($GLOBALS['instance'], 'add'), array($m));
}
add("One");
add("Two");
add("Three");
var_dump($GLOBALS['instance']->messages);
В PHP 5 свойство messages
содержит все 3 сообщения, в PHP 4 оно пустое.Почему?