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 相关文章推荐
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
May 04 PHP
PHP 飞信好友免费短信API接口开源版
Jul 22 PHP
编译php 5.2.14+fpm+memcached(具体操作详解)
Jun 18 PHP
ThinkPHP3.1.3版本新特性概述
Jun 19 PHP
php检查是否是ajax请求的方法
Apr 16 PHP
php准确计算复活节日期的方法
Apr 18 PHP
yii实现使用CUploadedFile上传文件的方法
Dec 28 PHP
基于PHP技术开发客服工单系统
Jan 06 PHP
Yii2.0 模态弹出框+ajax提交表单
May 22 PHP
php接口技术实例详解
Dec 07 PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
Dec 14 PHP
详解PHP素材图片上传、下载功能
Apr 12 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
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
2013/04/08 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
PHP基于openssl实现非对称加密代码实例
2020/06/19 PHP
动态样式类封装JS代码
2009/09/02 Javascript
JavaScript使用过程中需要注意的地方和一些基本语法
2010/08/26 Javascript
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
2013/04/07 Javascript
JavaScript实现点击按钮后变灰避免多次重复提交
2013/07/15 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
2015/11/24 Javascript
JavaScript_ECMA5数组新特性详解
2016/06/12 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
2016/08/15 Javascript
微信小程序实现聊天对话(文本、图片)功能
2018/07/06 Javascript
详解微信小程序input标签正则初体验
2018/08/18 Javascript
webpack中如何加载静态文件的方法步骤
2019/05/18 Javascript
[07:08]2014DOTA2西雅图国际邀请赛 小组赛7月11日TOPPLAY
2014/07/11 DOTA
[01:08:44]NB vs VP 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python开发实例分享bt种子爬虫程序和种子解析
2014/05/21 Python
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
在Python中处理字符串之isdigit()方法的使用
2015/05/18 Python
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
python爬虫框架talonspider简单介绍
2017/06/09 Python
Python中实现变量赋值传递时的引用和拷贝方法
2018/04/29 Python
django admin 后台实现三级联动的示例代码
2018/06/22 Python
python使用xlrd模块读取xlsx文件中的ip方法
2019/01/11 Python
Django前后端分离csrf token获取方式
2020/12/25 Python
12个不为大家熟知的HTML5设计小技巧
2016/06/02 HTML / CSS
植物选择:Botanic Choice
2017/02/15 全球购物
介绍一下Linux中的链接
2016/06/05 面试题
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
演讲稿怎么写
2014/01/07 职场文书
自我鉴定书面格式
2014/01/13 职场文书
幼儿园三八妇女节活动方案
2014/03/11 职场文书
护士自我鉴定总结
2014/03/24 职场文书
趣味运动会策划方案
2014/06/02 职场文书
Spring Cloud 中@FeignClient注解中的contextId属性详解
2021/09/25 Java/Android