From: cataphract Operating system: Irrelevant PHP version: master-Git-2012-07-30 (Git) Package: Reflection related Bug Type: Bug Bug description:Obtaining the value of inexistent dynamic properties should not be allowed
Description: ------------ The reflection extension does not allow obtaining ReflectionProperty objects for non existent properties, much less fetch their non existent value. However, this can be bypassed by creating a dynamic ReflectionProperty in another object. Test script: --------------- <?php class A {} $a = new A; $a->foo = "dynamic property"; $ro = new ReflectionObject($a); $prop = $ro->getProperty('foo'); try { var_dump($prop->getValue($a)); var_dump($prop->getValue(new A)); } catch (ReflectionException $ex) { echo "Caught!\n"; try { var_dump($prop->getValue(new A)); } catch (ReflectionException $ex) { var_dump($ex->getMessage()); } } Expected result: ---------------- string(16) "dynamic property" Caught! string(49) "Dynamic property does not exist in given instance" Actual result: -------------- string(16) "dynamic property" NULL -- Edit bug report at https://bugs.php.net/bug.php?id=62694&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=62694&r=trysnapshot54 Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=62694&r=trysnapshot53 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=62694&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=62694&r=fixed Fixed in SVN and need be documented: https://bugs.php.net/fix.php?id=62694&r=needdocs Fixed in release: https://bugs.php.net/fix.php?id=62694&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=62694&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=62694&r=needscript Try newer version: https://bugs.php.net/fix.php?id=62694&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=62694&r=support Expected behavior: https://bugs.php.net/fix.php?id=62694&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=62694&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=62694&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=62694&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=62694&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=62694&r=dst IIS Stability: https://bugs.php.net/fix.php?id=62694&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=62694&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=62694&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=62694&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=62694&r=mysqlcfg