Эта (упрощенная версия моего кода) не работает:
<?php
$sxml = new SimpleXMLElement('<somexml/>');
function foo(){
$child = $sxml->addChild('child');
}
foo();
?>
Почему? Я хочу получить доступ к $sxml
, потому что я хочу регистрировать ошибки на нем, если foo()
терпит неудачу. foo()
вызывает рекурсивно для создания списка каталогов, поэтому я боюсь, что передача всего $sxml
на себя (как в foo($sxml)
) может повредить производительность.
Есть ли способ доступа к $sxml
внутри $foo
без передачи его в качестве аргумента? (PHP 5.2.x +)
EDIT: Что делать, если код выглядит так?
<?php
bar(){
$sxml = new SimpleXMLElement('<somexml/>');
function foo(){
$child = $sxml->addChild('child');
}
foo();
}
bar();
?>