ID:               49647
 Updated by:       rricha...@php.net
 Reported By:      ashn...@php.net
-Status:           Open
+Status:           Closed
 Bug Type:         Reflection related
 Operating System: Linux
 PHP Version:      5.3.0
 New Comment:

This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.

type is mixed not DOMUserData


Previous Comments:
------------------------------------------------------------------------

[2009-09-24 13:18:22] s...@php.net

Automatic comment from SVN on behalf of rrichards
Revision: http://svn.php.net/viewvc/?view=revision&revision=288654
Log: Fixed bug #49647 (DOMUserData does not exist)

------------------------------------------------------------------------

[2009-09-24 11:31:08] ashn...@php.net

Yes, ext/dom is enabled ---------------------------------------------:
$ php -i | grep -i dom
dom
DOM/XML => enabled
DOM/XML API Version => 20031129


I'll modify the test script to verify it also ----------------------:
<?php
echo 'Verify DOM is loaded:' . PHP_EOL;
$r1 = new ReflectionClass('DOMElement');
var_dump($r1->getName());
echo PHP_EOL;

echo 'Does DOMUserData exist?' . PHP_EOL;
$r2 = new ReflectionClass('DOMUserData');
var_dump($r2->getName());
?>

With expected output ------------------------------------------------:
Verify DOM is loaded:
string(10) "DOMElement"

Does DOMUserData exist?
string(11) "DOMUserData"

And actual output ---------------------------------------------------:
Verify DOM is loaded:
string(10) "DOMElement"

Does DOMUserData exist?
PHP Fatal error:  Uncaught exception 'ReflectionException' with message
'Class DOMUserData does not exist' in
/opt/phpversions/php-bin/php-5.3.0/test.php:8
Stack trace:
#0 /opt/phpversions/php-bin/php-5.3.0/test.php(8):
ReflectionClass->__construct('DOMUserData')
#1 {main}
  thrown in /opt/phpversions/php-bin/php-5.3.0/test.php on line 8

ReflectionException: Class DOMUserData does not exist in
/opt/phpversions/php-bin/php-5.3.0/test.php on line 8

Call Stack:
    0.0002     624160   1. {main}()
/opt/phpversions/php-bin/php-5.3.0/test.php:0
    0.0004     625432   2. ReflectionClass->__construct()
/opt/phpversions/php-bin/php-5.3.0/test.php:8


This bug report was prompted by PEAR bug #14640, where phpDocumenter
encounters the same ReflectionException when attempting to document the
DOMElement parent class of a user's code class that extends DOMElement. 
Declaring an empty dummy DOMUserData class in the user's code solves the
issue.

------------------------------------------------------------------------

[2009-09-24 10:03:36] j...@php.net

Is ext/dom enabled in your build? And loaded? :)

------------------------------------------------------------------------

[2009-09-23 22:00:48] ashn...@php.net

Description:
------------
Reflection actitivy against a child of DOMElement can result in:

"ReflectionException: Class DOMUserData does not exist"

presumably due to dom_node_get_user_data in ext/dom/node.c.

The actual class does not appear to exist, although the method shows it
as a datatype for a parameter.

Reproduce code:
---------------
<?php
$r2 = new ReflectionClass('DOMUserData');
echo r2->getName();
?>


Expected result:
----------------
DOMUserData

Actual result:
--------------
ReflectionException: Class DOMUserData does not exist


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=49647&edit=1

Reply via email to