From: benjamin dot morel at gmail dot com Operating system: Linux PHP version: 5.4.13 Package: Reflection related Bug Type: Bug Bug description:ReflectionClass::getMethods() returns methods out of scope
Description: ------------ As far as I understand it, ReflectionClass::getMethods() should return only the methods that are in the scope of the reflected class, thus excluding private methods from parent classes. That's moreover the behaviour exposed by ReflectionClass::getProperties(), making the two methods behave in different manners. Test script: --------------- class Foo { private $a; private function a() {} protected $b; protected function b() {} } class Bar extends Foo { private $c; private function c() {} } $r = new ReflectionClass('Bar'); echo 'Properties in scope: '; foreach ($r->getProperties() as $property) { echo $property->getName() . ' '; } echo PHP_EOL, 'Methods in scope: '; foreach ($r->getMethods() as $method) { echo $method->getName() . ' '; } Expected result: ---------------- Properties in scope: c b Methods in scope: c b Actual result: -------------- Properties in scope: c b Methods in scope: c a b -- Edit bug report at https://bugs.php.net/bug.php?id=64592&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=64592&r=trysnapshot54 Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=64592&r=trysnapshot53 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=64592&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=64592&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=64592&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=64592&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=64592&r=needscript Try newer version: https://bugs.php.net/fix.php?id=64592&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=64592&r=support Expected behavior: https://bugs.php.net/fix.php?id=64592&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=64592&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=64592&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=64592&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=64592&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=64592&r=dst IIS Stability: https://bugs.php.net/fix.php?id=64592&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=64592&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=64592&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=64592&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=64592&r=mysqlcfg