zoukankan      html  css  js  c++  java
  • 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"
      }
    }
    复制代码
  • 相关阅读:
    大学阶段最后的交流
    JavaScript的一些基础性知识
    CSS的一些总结
    JavaWeb的一些理解
    Java Web之XML基础
    Java基础增强
    反射的理解
    Java网络编程
    Java 中剩下的流以及线程方面的知识
    Java中的流操作
  • 原文地址:https://www.cnblogs.com/fx2008/p/2975005.html
Copyright © 2011-2022 走看看