PHP使用反射机制实现查找类和方法的所在位置
来源: 阅读:713 次 日期:2016-08-26 14:49:21
温馨提示: 小编为您整理了“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'));

?>

希望本文所述对大家PHP程序设计有所帮助。

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map