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();
?>
 
     
     
     
     
     
    