Este (versión simplificada de mi código) en el interior no funciona:No se puede acceder a la función variable global
<?php
$sxml = new SimpleXMLElement('<somexml/>');
function foo(){
$child = $sxml->addChild('child');
}
foo();
?>
¿Por qué? Quiero acceder al $sxml
porque quiero registrar errores si falla foo()
. foo()
se llama a sí mismo recursivamente para crear una lista de directorios, por lo que me temo pasar todo el $sxml
a sí mismo (como en foo($sxml)
) podría dañar el rendimiento.
¿Hay alguna manera de acceder $sxml
dentro de $foo
sin pasarlo por un argumento? (PHP 5.2.x +)
EDIT: ¿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();
?>
por favor, programación orientada a objetos o simplemente pasarlo como argumento. La reutilización es clave. – mauris
@thephpdeveloper Entiendo tu punto, pero recién estoy comenzando con PHP y probablemente no sea un código que reutilice. Es más un prototipo que si sale mal lo puedo tirar y empezar de cero. –