note 73189 added to function.xml-set-element-handler
| From: | darien at etelos dot com | 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