ID: 45743 User updated by: ilewis at uk dot ibm dot com Reported By: ilewis at uk dot ibm dot com -Status: No Feedback +Status: Open Bug Type: Scripting Engine problem Operating System: Fedora 8 PHP Version: 5.3CVS-2008-08-07 (snap) New Comment:
re-opening as I've submitted an updated patch Previous Comments: ------------------------------------------------------------------------ [2008-08-15 01:00:01] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2008-08-07 12:36:22] ilewis at uk dot ibm dot com I've put an updated diff -u output on pastebin: http://pastebin.com/m43078aa5 I've also realised that this fix breaks testcase Zend/tests/bug42211.phpt, but I think this is a bug in the testcase, that is, it is testing for the broken behaviour. I've put a patch for the testcase on pasetbin as well http://pastebin.com/m15c01dec ------------------------------------------------------------------------ [2008-08-07 10:18:16] [EMAIL PROTECTED] Send patches in unified diff format. (diff -u) ------------------------------------------------------------------------ [2008-08-07 09:57:20] ilewis at uk dot ibm dot com Description: ------------ property_exists() doesn't find a member in a child class when the member is static and protected. The code below shows that the member is accessible and should be found by property_exists. I've created a patch which I think fixes this, and put it here: http://pastebin.com/m272f815c The patch was built against a CVS snap from today: php5.3-200808070630 Reproduce code: --------------- <?php class aParent { public static function staticTest() { var_dump(property_exists("A", "prot")); var_dump(A::$prot); } } class A extends aParent { protected static $prot = "prot"; } echo "\nparent scope:\n"; aParent::staticTest(); ?> Expected result: ---------------- parent scope: bool(true) string(4) "prot" Actual result: -------------- parent scope: bool(false) string(4) "prot" ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=45743&edit=1