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


Posted in PHP onJanuary 17, 2017

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代码把全角数字转为半角数字
Dec 10 PHP
mysql+php分页类(已测)
Mar 31 PHP
PHP 数据结构 算法描述 冒泡排序 bubble sort
Jul 10 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
Oct 29 PHP
PHP动态分页函数,PHP开发分页必备啦
Nov 07 PHP
探讨PHP中this,self,parent的区别详解
Jun 08 PHP
PHP连接access数据库
Mar 27 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
Apr 26 PHP
PHP中配置IIS7实现基本身份验证的方法
Sep 24 PHP
Smarty模板常见的简单应用分析
Nov 15 PHP
PHP实现从上往下打印二叉树的方法
Jan 18 PHP
php适配器模式简单应用示例
Oct 23 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
Jan 17 #PHP
yii使用bootstrap分页样式的实例
Jan 17 #PHP
关于Laravel Route重定向的一个注意点
Jan 16 #PHP
php文件管理基本功能简单操作
Jan 16 #PHP
Python中使用django form表单验证的方法
Jan 16 #PHP
phpinfo()中Loaded Configuration File(none)的解决方法
Jan 16 #PHP
php实现文件上传及头像预览功能
Jan 15 #PHP
You might like
基于php iconv函数的使用详解
2013/06/09 PHP
基于PHP文件操作的详细诠释
2013/06/21 PHP
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
php计算到指定日期还有多少天的方法
2015/04/14 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
PHP获取路径和目录的方法总结【必看篇】
2017/03/04 PHP
jQuery中调用WebService方法小结
2011/03/28 Javascript
快速查找数组中的某个元素并返回下标示例
2013/09/03 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
js 数字、字符串、布尔值的转换方法(必看)
2017/04/07 Javascript
使用async、enterproxy控制并发数量的方法详解
2018/01/02 Javascript
详解如何配置vue-cli3.0的vue.config.js
2018/08/23 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
2018/12/11 Javascript
详解从vue-loader源码分析CSS Scoped的实现
2019/09/23 Javascript
初学vue出现空格警告的原因及其解决方案
2019/10/31 Javascript
浅谈vue-props的default写不写有什么区别
2020/08/09 Javascript
[01:54]胎教DOTA2 准妈妈玩家现身中国区预选赛
2016/06/26 DOTA
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
python静态方法实例
2015/01/14 Python
python获取指定时间差的时间实例详解
2017/04/11 Python
用python编写第一个IDA插件的实例
2018/05/29 Python
在python中实现强制关闭线程的示例
2019/01/22 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
2019/07/11 Python
简单的Python调度器Schedule详解
2019/08/30 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
2019/09/07 Python
用什么库写 Python 命令行程序(示例代码详解)
2020/02/20 Python
使用python处理题库表格并转化为word形式的实现
2020/04/14 Python
如何利用Python识别图片中的文字
2020/05/31 Python
Python替换NumPy数组中大于某个值的所有元素实例
2020/06/08 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
Stubhub英国:购买体育、演唱会和剧院门票
2018/06/10 全球购物
邮政员工辞职信
2014/01/16 职场文书
初中开学典礼新闻稿
2015/07/17 职场文书
月考总结与反思
2015/10/22 职场文书
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python