我正在尝试使用PHP获取类中的所有函数名称。使用get_class_methods()
方法。但这会写入我扩展的类的函数名称。我想要的只是我正在调用的类的函数名称。
示例:
class a {
public function index() {
//...
}
}
class b extends a {
public function indexb() {
//...
}
}
print_r(get_class_methods(new b()));
输出:
array([0] => index, [1] => indexb);
(索引)我不要这个区域。
最好的问候。
答案 0 :(得分:2)
如果只希望子类的方法,则需要使用Reflection。
<?php
class A
{
public function index() {}
}
class B extends A
{
public function indexB() {}
}
$reflection = new ReflectionClass('B');
$methods = array_reduce($reflection->getMethods(), function($methods, $method) {
if ($method->class == 'B') $methods[] = $method->name;
return $methods;
}, []);
print_r($methods);
还有一个可行的示例:https://3v4l.org/veTeQ