服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - php如何实现不借助IDE快速定位行数或者方法定义的文件和位置

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

2021-04-15 16:27PHP教程网 PHP教程

这篇文章主要介绍了php如何实现不借助IDE快速定位行数或者方法定义的文件和位置的相关资料,需要的朋友可以参考下

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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";
}

使用:

?
1
function_dump('get_affiliate');

输出:

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

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

延伸 · 阅读

精彩推荐