php获取类里所有方法,php反射机制获取php类的所有方法

获取一个php类的方法,多会用到get_class_methods(),可手册中并没说明此函数返回的只是public类型的方法。

如果想要获取到包括私有和保护的所有方法,那需要用到php反射类。

例子:

复制代码 代码示例:

class foo

{

private function prifunc(){}

protected function profunc(){}

public function pubfunc(){}

}

function get_class_all_methods($class){

$r = new reflectionclass($class);

foreach($r->getmethods() as $key=>$methodobj){

if($methodobj->isprivate())

$methods[$key]['type'] = 'private';

elseif($methodobj->isprotected())

$methods[$key]['type'] = 'protected';

else

$methods[$key]['type'] = 'public';

$methods[$key]['name'] = $methodobj->name;

$methods[$key]['class'] = $methodobj->class;

}

return $methods;

}

$methods = get_class_all_methods('foo');

var_dump($methods);

结果:

array(3) {

[0]=>

array(3) {

["type"]=>

string(7) "private"

["name"]=>

string(7) "prifunc"

["class"]=>

string(3) "foo"

}

[1]=>

array(3) {

["type"]=>

string(9) "protected"

["name"]=>

string(7) "profunc"

["class"]=>

string(3) "foo"

}

[2]=>

array(3) {

["type"]=>

string(6) "public"

["name"]=>

string(7) "pubfunc"

["class"]=>

string(3) "foo"

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值