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" } }
虽功未成,亦未敢藏私,众侠诸神通尽录于此,竟成一笈,名葵花宝典,以飨后世。
邮箱:steven9801@163.com
QQ: 48039387
邮箱:steven9801@163.com
QQ: 48039387