ID: 37964
User updated by: lavin dot peter at gmail dot com
Reported By: lavin dot peter at gmail dot com
Status: Assigned
Bug Type: Scripting Engine problem
Operating System: Windows XP
PHP Version: 5.1.4
Assigned To: tony2001
New Comment:
The "getMethods" method of ReflectionClass also returns the private
methods of the parent class.
Previous Comments:
------------------------------------------------------------------------
[2006-06-29 20:06:15] lavin dot peter at gmail dot com
Description:
------------
When using the export method of ReflectionClass the private methods of
of a parent class are displayed.
Reproduce code:
---------------
class Base{
private $basevar;
private function baseFunction(){}
}
class Derived extends Base{}
$d = new Derived;
Reflection::export(new ReflectionClass($d));
Expected result:
----------------
Since properties and methods defined as private are not inherited, the
exported Base class should have no properties or methods but in fact
the private method of the Parent class shows up.
Actual result:
--------------
Class [ class Derived extends Base ] { @@ C:\Program Files\Apache
Group\Apache2\htdocs\newstuff\captcha\refbug.php 6-6 - Constants [0] {
} - Static properties [0] { } - Static methods [0] { } - Properties [0]
{ } - Methods [1] { Method [ private method baseFunction ] { @@
C:\Program Files\Apache
Group\Apache2\htdocs\newstuff\captcha\refbug.php 4 - 4 } } }
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=37964&edit=1