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)

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

相关文章

php文件管理基本功能简单操作

php文件管理基本功能简单操作

(1)先要想好要操作哪个文件? (2)确定文件的路径? (3)要有什么文件管理功能? 一、先做一下简单的查看文件功能,文件中的文件和文件夹都显示,但是双击文件夹可以显示下一级子目录,双击...

php中rename函数用法分析

本文实例分析了php中rename()函数用法。分享给大家供大家参考。具体如下: php filesystem 函数,rename() 函数重命名文件或目录,若成功,则该函数返回 tru...

使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT

例如这样一个表,我想统计email和passwords都不相同的记录的条数 复制代码 代码如下: CREATE TABLE IF NOT EXISTS `test_users` ( `e...

php 文件上传类代码

复制代码 代码如下: <?php /** * 文件上传类 */ class uploadFile { public $max_size = '1000000';//设置上传文件大小...

PHP注释实例技巧

复制代码 代码如下:<?php $a = 1; $b = 2; if (1==1) { $andy = '帅哥'; } ?> 一般注释的时候,用 复制代码 代码如下:<...