Bug #75231 [NEW]: ReflectionProperty#getValue() incorrectly works with inherited classes.
| From: | t at elless dot me | Date: | Wed, 20 Sep 2017 08:22:56 +0000 |
| Subject: | Bug #75231 [NEW]: ReflectionProperty#getValue() incorrectly works with inherited classes. | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-211256@lists.php.net to get a copy of this message | ||
From: t at elless dot me
Operating system: Linux (CentOS)
PHP version: 7.1.9
Package: Reflection related
Bug Type: Bug
Bug description:ReflectionProperty#getValue() incorrectly works with inherited classes.
Description:
------------
Relates to https://bugs.php.net/bug.php?id=72209
ReflectionProperty#getValue($object) probably incorrectly checks the
type of $object.
ReflectionProperty#invoke($object) correctly detect inheritance.
Anyway fix 72209 bug has BC which were not specified in the changes 7.0
=> 7.1.
And error message kinda incorrect. "Given object is not an instance of
the class this property was declared in" bug given object is exactly an
instance of the class this property was declared in.
Test script:
---------------
https://gist.github.com/telless/fe942e202b408b1b614faf638d7aea30
Expected result:
----------------
method
prop
Actual result:
--------------
method
PHP Fatal error: Uncaught ReflectionException: Given object is not an
instance of the class this property was declared in in
php71reflection.php:23
--
Edit bug report at https://bugs.php.net/bug.php?id=75231&edit=1
--
Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=75231&r=trysnapshot54
Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=75231&r=trysnapshot55
Try a snapshot (trunk): https://bugs.php.net/fix.php?id=75231&r=trysnapshottrunk
Fixed in SVN: https://bugs.php.net/fix.php?id=75231&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=75231&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=75231&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=75231&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=75231&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=75231&r=support
Expected behavior: https://bugs.php.net/fix.php?id=75231&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=75231&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=75231&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=75231&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=75231&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=75231&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=75231&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=75231&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=75231&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=75231&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=75231&r=mysqlcfg