这(我的代码的简化版)不起作用:
<?php
$sxml = new SimpleXMLElement('<somexml/>');
function foo(){
$child = $sxml->addChild('child');
}
foo();
?>
Run Code Online (Sandbox Code Playgroud)
为什么?我想访问,$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();
?>
Run Code Online (Sandbox Code Playgroud)