class members

From: Date: Sun, 30 Jun 2002 19:40:41 +0000
Subject: class members
Groups: php.doc 
Request: Send a blank email to phpdoc+get-969347014@lists.php.net to get a copy of this message
I have written the following code - and there is a problem. When I refer to $this->html within the function parse_xml($xml) after the xml parsing function has been called, it appears to be empty. But if I refer to it as the HTML sections are added by the xml event handlers then the content appears to be there - could you please refer me to the relevant documentation or tell me what is wrong? <? $me = new page_boy; $me->parse_xml("<?xml version='1.0' ?><red>This is red</red>"); class page_boy { var $db_connection; var $html; var $interface; var $parser; function page_boy() { $this->db_connection = @mysql_connect("%%%%", "%%%%", "%%%%"); @mysql_select_db("xgoat", $this->db_connection); $this->interface = 1; $this->html = ""; $this->parser = xml_parser_create(); xml_set_object($this->parser, &$this); xml_set_element_handler($this->parser, "start_tag", "end_tag"); xml_set_character_data_handler($this->parser, "cdata"); } function parse_xml($xml) { xml_parse($this->parser, $xml); echo $this->html; } function start_tag($r_parser, $tagname, $tag_att) { $qre = mysql_query("SELECT content FROM tags WHERE mode = $this->interface AND type = 'open' AND name = '$tagname'", $this->db_connection); $r_arr = mysql_fetch_array($qre); $this->add_content($r_arr["content"]); } function end_tag($r_parser, $tagname) { $qre = mysql_query("SELECT content FROM tags WHERE mode = $this->interface AND type = 'close' AND name = '$tagname'", $this->db_connection); $r_arr = mysql_fetch_array($qre); $this->add_content($r_arr["content"]); } function cdata($r_parser, $cdata) { $this->add_content($cdata); } function add_content($ncnt) { $this->html = $this->html . $ncnt; echo $ncnt; } } ?>

« previous php.doc (#969347014) next »