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