php如何实现不借助IDE快速定位行数或者方法定义的文件和位置

春雨沙沙地下着,有如绣花针,有如牛毛。河面雪融化了,雪水汇成小溪,淙淙地流着。河水中,一只只小蝌蝌顽皮地游着,好似找它妈妈,可爱极了。

php 如何实现不借助IDE快速定位行数或者方法定义的文件和位置

借助了ReflectionMethod的一些特性,可以快速获得函数或者方法是在哪个文件的什么位置定义的,对于调试没有文档的程序来说很有帮助!

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('get_affiliate');

输出:

function get_affiliate defined by D:\WWW\admin\affiliate.php(232 - 238)

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

到此这篇关于php如何实现不借助IDE快速定位行数或者方法定义的文件和位置就介绍到这了。分分秒秒,构筑辉煌。更多相关php如何实现不借助IDE快速定位行数或者方法定义的文件和位置内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

标签: 如何实现 行数