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和XSL stylesheets转换XML文档
Oct 09 PHP
require(),include(),require_once()和include_once()的异同
Jan 02 PHP
PHP二维数组排序的3种方法和自定义函数分享
Apr 09 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
Jul 29 PHP
smarty模板判断数组为空的方法
Jun 10 PHP
thinkphp autoload 命名空间自定义 namespace
Jul 17 PHP
PHP判断手机是IOS还是Android
Dec 09 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
Apr 19 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
Mar 25 PHP
详解提高使用Java反射的效率方法
Apr 29 PHP
ThinkPHP5分页paginate代码实例解析
Nov 10 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 解决旧系统 查出所有数据分页的类
2012/08/27 PHP
thinkphp实现发送邮件密码找回功能实例
2014/12/01 PHP
php实现字符串首字母大写和单词首字母大写的方法
2015/03/14 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
Laravel程序架构设计思路之使用动作类
2018/06/07 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
Nodejs 搭建简单的Web服务器详解及实例
2016/11/30 NodeJs
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
jQuery实现对网页节点的增删改查功能示例
2017/09/18 jQuery
AngularJS中controller控制器继承的使用方法
2017/11/03 Javascript
js实现复制功能(多种方法集合)
2018/01/06 Javascript
React中常见的动画实现的几种方式
2018/01/10 Javascript
浅谈webpack组织模块的原理
2018/03/10 Javascript
浅谈vue 单文件探索
2018/09/05 Javascript
新手必须知的Node.js 4个JavaScript基本概念
2018/09/16 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
2020/08/21 Javascript
js中复选框的取值及赋值示例详解
2020/10/18 Javascript
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
[43:41]OG vs Newbee 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
[03:17]DOTA2-DPC中国联赛1月29日Recap集锦
2021/03/11 DOTA
Python中的exec、eval使用实例
2014/09/23 Python
Python实现读取json文件到excel表
2017/11/18 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
python中virtualenvwrapper安装与使用
2018/05/20 Python
Python实现Event回调机制的方法
2019/02/13 Python
Python脚本利用adb进行手机控制的方法
2019/07/08 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
本科生求职信
2014/06/17 职场文书
2014年机关作风建设工作总结
2014/10/23 职场文书
公司2014年度工作总结
2014/12/10 职场文书
关于空气污染危害的感想
2015/08/11 职场文书
PyTorch 如何设置随机数种子使结果可复现
2021/05/12 Python