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"
      }
    }
    复制代码
  • 相关阅读:
    py2exe
    Python库
    Python正则表达式指南
    [Python]日志模块logging的应用
    [Python]python __init__.py
    如何安装配置ulipad
    [Python]如何快速知道要使用哪些python模块和有哪些功能
    CodeIgniter
    Python 绝对简明手册
    理解Python命名机制
  • 原文地址:https://www.cnblogs.com/fx2008/p/2975005.html
Copyright © 2011-2022 走看看