ID:               45743
 Comment by:       ilewis at uk dot ibm dot com
 Reported By:      ilewis at uk dot ibm dot com
 Status:           Feedback
 Bug Type:         Scripting Engine problem
 Operating System: Fedora 8
 PHP Version:      5.3CVS-2008-08-07 (snap)
 New Comment:

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


Previous Comments:
------------------------------------------------------------------------

[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

Reply via email to