php - 列出给定类的所有方法,不包括 PHP 中父类的方法

标签 php oop class methods

我正在为 PHP 构建一个单元测试框架,我很好奇是否有一种方法可以获取排除父类方法的对象方法列表。所以鉴于此:

class Foo
{

    public function doSomethingFooey()
    {
        echo 'HELLO THERE!';
    }
}

class Bar extends Foo
{
    public function goToTheBar()
    {
        // DRINK!
    }
}

我想要一个函数,给定参数 new Bar() 返回:

array( 'goToTheBar' );

WITHOUT 需要实例化 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);

关于php - 列出给定类的所有方法,不包括 PHP 中父类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2010889/

相关文章:

php - 使用 header() 重新加载页面后使用 echo() 写入文本

PHP - 如何循环遍历下划线格式的帖子数据?

.net - ASP.NET/ADO.NET : Handling many database connections inside a . NET 对象?

c++ 使用 std::list 隐式复制 *this

python - issubclass() 对从不同路径导入的同一类返回 False

php - Prestashop - 购物篮总价

php - $.post数据命名问题

javascript - JavaScript 中的多个构造函数(重载)

javascript - Javascript 类中的实例变量

c++ - 使用 shared_ptr vector 重载 ostream 友元运算符