我正在为
PHP构建一个单元测试框架,如果有一种方法可以获得排除父类方法的对象方法的列表,我很好奇.所以给出这个:
class Foo { public function doSomethingFooey() { echo 'HELLO THERE!'; } } class Bar extends Foo { public function goToTheBar() { // DRINK! } }
我想要一个函数,给定参数new Bar()返回:
array( 'goToTheBar' );
无需实例化Foo的实例. (这意味着get_class_methods将不起作用).
使用
ReflectionClass,例如:
$f = new ReflectionClass('Bar'); $methods = array(); foreach ($f->getMethods() as $m) { if ($m->class == 'Bar') { $methods[] = $m->name; } } print_r($methods);