note 73189 added to function.xml-set-element-handler

From: Date: Mon, 12 Feb 2007 18:48:35 +0000
Subject: note 73189 added to function.xml-set-element-handler
Groups: php.notes 
Request: Send a blank email to php-notes+get-123290@lists.php.net to get a copy of this message
This documentation is somewhat awry. I know it's been said many times before, but it bears repeating... If using PHP4, you may be required to use xml_set_object() instead of calling any of the xml_set_*_handler() functions with a two-item array. It will work fine on PHP5, but move the same code to PHP4 and it will create one copie of $this (even if you use &$this) for each handler you set! <?php // This code will fail mysteriously on PHP4. $this->parser = xml_parser_create(); xml_set_element_handler( $this->parser, array(&$this,"start_tag"), array(&$this,"end_tag") ); xml_set_character_data_handler( $this->parser, array(&$this,"tag_data") ); ?> <?php // This code will work on PHP4. $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, "tag_data" ); ?> ---- Server IP: 64.71.164.2 Probable Submitter: 216.251.108.82 ---- Manual Page -- http://www.php.net/manual/en/function.xml-set-element-handler.php Edit -- https://master.php.net/note/edit/73189 Del: integrated -- https://master.php.net/note/delete/73189/integrated Del: useless -- https://master.php.net/note/delete/73189/useless Del: bad code -- https://master.php.net/note/delete/73189/bad+code Del: spam -- https://master.php.net/note/delete/73189/spam Del: non-english -- https://master.php.net/note/delete/73189/non-english Del: in docs -- https://master.php.net/note/delete/73189/in+docs Del: other reasons-- https://master.php.net/note/delete/73189 Reject -- https://master.php.net/note/reject/73189 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#123290) next »