借助了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)

 

--------------------

相关文章:

  • 2021-11-16
  • 2021-10-14
  • 2022-12-23
  • 2021-11-14
  • 2022-12-23
  • 2021-12-12
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-09-06
  • 2021-12-21
  • 2021-04-22
  • 2022-01-16
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案