加入收藏 | 设为首页 | 会员中心 | 我要投稿 鞍山站长网 (https://www.0412zz.cn/)- 智能营销、数据计算、数据可视化、负载均衡、研发安全!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP使用反射机制实现查找类和方法的所在位置

发布时间:2022-07-15 12:58:25 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了PHP使用反射机制实现查找类和方法的所在位置,实例分析了PHP反射机制的原理与使用反射机制实现对类和方法的查找技巧,需要的朋友可以参考下。 本文实例讲述了PHP使用反射机制实现查找类和方法的所在位置,分享给大家供大家参考,具体如下:
  这篇文章主要介绍了PHP使用反射机制实现查找类和方法的所在位置,实例分析了PHP反射机制的原理与使用反射机制实现对类和方法的查找技巧,需要的朋友可以参考下。
 
  本文实例讲述了PHP使用反射机制实现查找类和方法的所在位置,分享给大家供大家参考,具体如下:
 
  //参数1是类名,参数2是方法名
  $func = new ReflectionMethod('UnifiedOrder_pub', 'getPrepayId');
  //从第几行开始
  $start = $func->getStartLine() - 1;
  //从第几行结束
  $end = $func->getEndLine() - 1;
  //获取路径地址
  $filename = $func->getFileName();
  下面是摘抄的示例代码比较全面:
 
  <?php
  function a() {
  }
  class b {
    public function f() {
    }
  }
  function function_dump($funcname) {
    try {
      if(is_array($funcname)) {
        $func = new ReflectionMethod($funcname[0], $funcname[1]);
        $funcname = $funcname[1];
      } else {
        //这个应该是当只有一个参数的时候就看做是本类的发放吧,大概,自行百度
        $func = new ReflectionFunction($funcname);
      }
    } catch (ReflectionException $e) {
      echo $e->getMessage();
      return;
    }
    $start = $func->getStartLine() - 1;
    $end = $func->getEndLine() - 1;
    $filename = $func->getFileName();
    echo "function $funcname defined by $filename($start - $end)n";
  }
  function_dump('a');
  function_dump(array('b', 'f'));
  $b = new b();
  function_dump(array($b, 'f'));
  ?>

(编辑:鞍山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读