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