我正在尝试用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);
(索引)我不想要这个区域。
诚挚的问候。
发布于 2018-07-25 07:44:45
如果您只需要用于子类的方法,则需要使用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
https://stackoverflow.com/questions/51508965
复制相似问题