Bug #73657 [Opn->Ver]: Reflection property can't access to ArrayObject property

From: Date: Mon, 05 Dec 2016 19:21:32 +0000
Subject: Bug #73657 [Opn->Ver]: Reflection property can't access to ArrayObject property
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-205788@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=73657&edit=1 ID: 73657 Updated by: cmb@php.net Reported by: ilya at antipenko dot pp dot ua Summary: Reflection property can't access to ArrayObject property -Status: Open +Status: Verified Type: Bug Package: Reflection related Operating System: Any PHP Version: 7.0.13 Block user comment: N Private report: N New Comment: Indeed, the notice is caused by commit a1ed4ab3[1]. However, the behavior didn't make sense before that commit, because the property's value was returned as NULL[2]. It seems to me that ::getProperties() should return 0 (as done by HHVM). [1] <http://git.php.net/?p=php-src.git;a=commit;h=a1ed4ab3> [2] <https://3v4l.org/UcTHf> Previous Comments: ------------------------------------------------------------------------ [2016-12-05 17:02:24] ilya at antipenko dot pp dot ua Seems caused by https://bugs.php.net/bug.php?id=72174 ------------------------------------------------------------------------ [2016-12-05 17:00:11] ilya at antipenko dot pp dot ua Description: ------------ Hello. ReflectionObject::getProperties() returns property which added to ArrayObject with offsetSet(), but this property can't be gotten by ReflectionProperty::getValue(). See https://3v4l.org/Y2CkO Test script: --------------- <?php class A extends \ArrayObject {} $a = new A; $a->offsetSet('test', 'testValue'); $reflection = new \ReflectionObject($a); $properties = $reflection->getProperties(); $c = count($properties); echo $c . PHP_EOL; if ($c) { echo $properties[0]->getValue($a) . PHP_EOL; } Expected result: ---------------- I'm not sure what is expected behaviour, but it's strange to have abiliti get property of ArrayObject and have not ability to get value of this property. Variants: 1. Properties have not be returned by ReflectionObject::getProperties() ------ EXPECTED ----- 1 testValue ------ EXPECTED ----- 2. Property values should be accessible by ReflectionProperty::getValue() ------ EXPECTED ----- 0 ------ EXPECTED ----- Actual result: -------------- 1 Notice: Undefined property: A::$test in /in/FbMbQ on line 14 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=73657&edit=1

« previous php.bugs (#205788) next »