从类中获取所有函数及其参数

时间:2013-02-23 20:58:07

标签: php oop

我正在为我的CMS制作一个插件系统,为了使事件注册系统变得简单,我需要一个可以执行以下操作的功能。

我需要一个函数,它将返回指定类中包含其参数类的所有函数。当然,如果从类中获取函数的函数和获取函数参数的所有类名的函数不同,那就没问题了。

例如,如果您有以下具有这些功能的类;

class MyClass {
    public function myFunction(Event $event) {
        // Function code
    }
}

如果可以返回这样的东西,那将是非常棒的;

Array() { 
    'myFunction' => Array() {
        0 => 'Event'
    }
}

有办法做到这一点吗?

提前致谢, 蒂姆维斯特

1 个答案:

答案 0 :(得分:5)

您正在引用Reflection API。反映classesmethods可能会让您做出您需要的事情。例如,尝试:

$class = new ReflectionClass('MyClass');
$methods = $class->getMethods();

print_r($methods);

foreach ($methods as $method) {
    print_r($method->getParameters());
}