首页 > 语言 > PHP > 正文

PHP获取指定函数定义在哪个文件中以及其所在的行号实例

2024-09-04 11:43:23
字体:大 中 小
来源:转载
供稿:网友

这篇文章主要介绍了PHP获取指定函数定义在哪个文件中以及其所在的行号实例,需要的朋友可以参考下。

当调试开源的代码时,希望查看某个函数的定义,那么就需要定位其位置。在 zend studio 这样的 IDE 中自是可以自动提示到,但当没有安装这样的开发工具时,我们可以怎么办呢?参考如下一段代码,或许就包含你所需的,代码如下:

  1. <?php 
  2. function a() { 
  3. } 
  4. class b { 
  5.     public function f() { 
  6.     } 
  7. } 
  8.  
  9. function function_dump($funcname) { 
  10.     try { 
  11.         if(is_array($funcname)) { 
  12.             $func = new ReflectionMethod($funcname[0], $funcname[1]); 
  13.             $funcname = $funcname[1]; 
  14.         } else { 
  15.             $func = new ReflectionFunction($funcname); 
  16.         } 
  17.     } catch (ReflectionException $e) { 
  18.         echo $e->getMessage(); 
  19.         return; 
  20.     } 
  21.     $start = $func->getStartLine() - 1; 
  22.     $end =  $func->getEndLine() - 1; 
  23.     $filename = $func->getFileName(); 
  24.     echo "function $funcname defined by $filename($start - $end)/n"; 
  25. } 
  26. function_dump('a'); 
  27. function_dump(array('b', 'f')); 
  28. $b = new b(); 
  29. function_dump(array($b, 'f')); 
  30. ?> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表