Эта тема на forum.dklab.ru


guest399: XML class...
Привожу пример класса в php4 :


class myxml
{
var $foo = null;

function parse_xml($xml)
{
$parser = xml_parser_create();
xml_set_element_handler($parser, array(&$this, "sax_start"), array(&$this, "sax_start"));
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, false);

$ret = xml_parse($parser, $xml, true);
xml_parser_free($parser);

return $ret;
}

function sax_start($parser, $name, $vals)
{
$this->foo = 1;

//
//какая-то обрабока...
}

function sax_end($parser, $name)
{

//
//какая-то обрабока...
}
}

$MYXML = new myxml;

if ($MYXML->parse_xml(join("", file("file.xml"))))
{
//и тут получаем что $XML->foo так и равно null
print($XML->foo);
}


В данном примере sax_start и sax_end вызываются (xml файл нормальный), но они не могут получить доступ к переменным класса... как это обойти (без использыания глобальных переменных) ?
manro:
а откуда взялся $XML, который вы хотите print? Если его заменить на $MYXML, все будет работать.
guest399:
Так описался... конечно там $MYXML... в том то и дело что не работает...

Эта тема на forum.dklab.ru