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

yipeiwu_com6年前PHP代码库

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)

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

相关文章

Look And Say 序列php实现代码

比如: 第一个数字是:1。 看着第一个数字你可以说1个1,那么第二个数字就是:11。 看着第二个数字你可以说2个1,即第三个数字是:21。 看着第三个数字你可以说1个2,1个1,即第四个...

php中全局变量global的使用演示代码

我来给处入行的人讲解一下全局变量global的使用,”全局变量“,这个名词中的全局两个字已经告诉我们这个变量在各个地方都能用,先看一个实例: 复制代码 代码如下: <?php $a...

PHP类中Static方法效率测试代码

类的定义如下: 复制代码 代码如下: class test { public static function a(){} public function b(){} } $obj = n...

用header 发送cookie的php代码

用header 发送cookie  header("Set-Cookie: testcookie=中文; path=/; domain=...

深入Apache与Nginx的优缺点比较详解

1、nginx相对于apache的优点:  轻量级,同样起web 服务,比apache占用更少的内存及资源  抗并发,nginx 处理请求是异步非...