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

Send patches in unified diff format. (diff -u)


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

[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