No se puede acceder a la variable global dentro de la función
Esta (versión simplificada de mi código) no funciona:
<?php
$sxml = new SimpleXMLElement('<somexml/>');
function foo(){
$child = $sxml->addChild('child');
}
foo();
?>
¿Por qué? Quiero acceder a$sxml
porque quiero registrar errores en él sifoo()
falla. @foo()
se llama a sí mismo de forma recursiva para crear una lista de directorios, por lo que temo pasar la$sxml
sobre sí mismo (como enfoo($sxml)
) podría dañar el rendimiento.
¿Hay alguna forma de acceder$sxml
dentro$foo
sin pasarlo como argumento? (PHP 5.2.x +)
EDITAR ¿Qué pasa si el código se ve así, en realidad?
<?php
bar(){
$sxml = new SimpleXMLElement('<somexml/>');
function foo(){
$child = $sxml->addChild('child');
}
foo();
}
bar();
?>