This (simplified version of my code) doesn't work:
<?php
$sxml = new SimpleXMLElement('<somexml/>');
function foo(){
$child = $sxml->addChild('child');
}
foo();
?>
Why? I want to access $sxml because I want to log errors on it if foo() fails. foo() calls itself recursively to create a directory listing, so I fear passing the whole $sxml onto itself (as in foo($sxml)) could hurt performance.
Is there a way to access $sxml inside $foo without passing it as an argument? (PHP 5.2.x+)
EDIT: What if the code looks like this, actually?
<?php
bar(){
$sxml = new SimpleXMLElement('<somexml/>');
function foo(){
$child = $sxml->addChild('child');
}
foo();
}
bar();
?>