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 相关文章推荐
PHP4与PHP3中一个不兼容问题的解决方法
Oct 09 PHP
PHP 常见郁闷问题答解
Nov 25 PHP
PHP中simplexml_load_string函数使用说明
Jan 01 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
Oct 29 PHP
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
Jun 13 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
Feb 16 PHP
php把大写命名转换成下划线分割命名
Apr 27 PHP
PHP开发的微信现金红包功能示例
Jun 29 PHP
Laravel框架模板继承操作示例
Jun 11 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
Feb 21 PHP
PHP标准库 (SPL)――Countable用法示例
Jun 05 PHP
PHP http请求超时问题解决方案
Nov 13 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
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
php 攻击方法之谈php+mysql注射语句构造
2009/10/30 PHP
用php实现的获取网页中的图片并保存到本地的代码
2010/01/05 PHP
YiiFramework入门知识点总结(图文教程)
2015/12/28 PHP
PHP如何实现跨域
2016/05/30 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
2017/12/28 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
Prototype使用指南之string.js
2007/01/10 Javascript
jQuery 性能优化指南 (1)
2009/05/21 Javascript
将字符串中由空格隔开的每个单词首字母大写
2014/04/06 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
javascript实现的多个层切换效果通用函数实例
2015/07/06 Javascript
JavaScript对Json的增删改属性详解
2016/06/02 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
webpack构建vue项目的详细教程(配置篇)
2017/07/17 Javascript
es6在react中的应用代码解析
2017/11/08 Javascript
vue微信分享 vue实现当前页面分享其他页面
2017/12/02 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
2017/12/29 Javascript
微信小程序自定义组件封装及父子间组件传值的方法
2018/08/28 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
javascript实现蒙版与禁止页面滚动
2020/01/11 Javascript
Vue实现摇一摇功能(兼容ios13.3以上)
2021/01/26 Vue.js
Python 互换字典的键值对实例
2019/02/12 Python
django框架创建应用操作示例
2019/09/26 Python
使用python和pygame制作挡板弹球游戏
2019/12/03 Python
在python中logger setlevel没有生效的解决
2020/02/21 Python
Python3标准库glob文件名模式匹配的问题
2020/03/13 Python
Jupyter Notebook折叠输出的内容实例
2020/04/22 Python
python 8种必备的gui库
2020/08/27 Python
意大利香水和彩妆护肤品购物网站:Ditano
2017/08/13 全球购物
文秘专业个人求职信
2013/12/22 职场文书
2014年党员自我评议总结
2014/09/23 职场文书
2014年班主任工作总结
2014/11/08 职场文书
财务经理岗位职责范本
2015/04/08 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers