PHP获取指定函数定义在哪个文件中以及其所在的行号实例


Posted in PHP onMay 08, 2014

当调试开源的代码时,希望查看某个函数的定义,那么就需要定位其位置。在 zend studio 这样的 IDE 中自是可以自动提示到,但当没有安装这样的开发工具时,我们可以怎么办呢?参考如下一段代码,或许就包含你所需的。

<?php
function a() {
}
class b {
    public function f() {
    }
}
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('a');
function_dump(array('b', 'f'));
$b = new b();
function_dump(array($b, 'f'));
?>
PHP 相关文章推荐
把PHP安装为Apache DSO
Oct 09 PHP
php cURL和Rolling cURL并发方式比较
Oct 30 PHP
用PHP实现弹出消息提示框的两种方法
Dec 17 PHP
thinkphp验证码显示不出来的解决方法
Mar 29 PHP
PHP对象相互引用的内存溢出实例分析
Aug 28 PHP
ThinkPHP实现带验证码的文件上传功能实例
Nov 01 PHP
CI框架给视图添加动态数据
Dec 01 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
Mar 21 PHP
PHP使用finfo_file()函数检测上传图片类型的实现方法
Apr 18 PHP
php对xml文件的增删改查操作实现方法分析
May 19 PHP
YII2框架中excel表格导出的方法详解
Jul 21 PHP
详解cookie验证的php应用的一种SSO解决办法
Oct 20 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
May 08 #PHP
PHP中把stdClass Object转array的几个方法
May 08 #PHP
PHP批量检测并去除文件BOM头代码实例
May 08 #PHP
php代码审计比较有意思的例子
May 07 #PHP
一个php短网址的生成代码(仿微博短网址)
May 07 #PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
May 07 #PHP
php对称加密算法示例
May 07 #PHP
You might like
php 地区分类排序算法
2013/07/01 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(一)
2014/06/23 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
PHP与以太坊交互详解
2018/08/24 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
javascript[js]获取url参数的代码
2007/10/17 Javascript
有关DOM元素与事件的3个谜题
2010/11/11 Javascript
js获取对象为null的解决方法
2013/11/21 Javascript
用javascript关闭本窗口不弹出询问框的方法
2014/09/12 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
jQuery滚动条插件nanoscroller使用指南
2015/04/21 Javascript
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
2015/10/10 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
2016/10/13 Javascript
js实现华丽的九九乘法表效果
2017/03/29 Javascript
详解使用Node.js 将txt文件转为Excel文件
2017/07/05 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
js中DOM事件绑定分析
2018/03/18 Javascript
React事件处理的机制及原理
2018/12/03 Javascript
微信小程序 如何保持登录状态
2019/08/16 Javascript
python list 合并连接字符串的方法
2013/03/09 Python
浅谈Python接口对json串的处理方法
2018/12/19 Python
selenium+Chrome滑动验证码破解二(某某网站)
2019/12/17 Python
Python celery原理及运行流程解析
2020/06/13 Python
HTML5通用接口详解
2016/06/12 HTML / CSS
迪梵英国官方网站:Darphin英国
2017/12/06 全球购物
英国电子专家:maplin
2019/09/04 全球购物
小学优秀班主任事迹材料
2014/05/17 职场文书
春游踏青活动方案
2014/08/14 职场文书
环卫处个人工作总结
2015/03/04 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
MySQL命令无法输入中文问题的解决方式
2021/08/30 MySQL
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
2021/10/16 Python
开发微信小程序之WXSS样式教程
2022/04/18 HTML / CSS