|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2009-09-23 22:00 UTC] ashnazg@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
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Oct 28 02:00:01 2025 UTC |
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.