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中对xml读取的相关函数的介绍一
Jun 05 PHP
php5 pdo新改动加载注意事项
Sep 11 PHP
php empty函数 使用说明
Aug 10 PHP
解析PHP实现多进程并行执行脚本
Jun 18 PHP
Memcached常用命令以及使用说明详解
Jun 27 PHP
用PHP代替JS玩转DOM的思路及示例代码
Jun 15 PHP
PHP has encountered a Stack overflow问题解决方法
Nov 03 PHP
PHP滚动日志的代码实现
Jun 10 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
Aug 12 PHP
php PDO异常处理详解
Nov 20 PHP
WAF的正确bypass
Jan 05 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
Oct 25 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
eAccelerator的安装与使用详解
2013/06/13 PHP
php文件服务实现虚拟挂载其他目录示例
2014/04/17 PHP
PHP三元运算的2种写法代码实例
2014/05/12 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
2016/01/27 PHP
学习ExtJS fit布局使用说明
2009/10/08 Javascript
超轻量级的基于jquery的三级展开列表
2011/04/26 Javascript
JQuery中判断一个元素下面是否有内容或者有某个标签的判断代码
2012/02/02 Javascript
jquery提交form表单时禁止重复提交的方法
2014/02/13 Javascript
jquery获取tr并更改tr内容示例代码
2014/02/13 Javascript
浅谈JavaScript事件的属性列表
2015/03/01 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
微信JS SDK接入的几点注意事项(必看篇)
2017/06/23 Javascript
Angular表格神器ui-grid应用详解
2017/09/29 Javascript
react实现点击选中的li高亮的示例代码
2018/05/24 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
在Express中提供静态文件的实现方法
2019/10/17 Javascript
JQuery Ajax如何实现注册检测用户名
2020/09/25 jQuery
用vue设计一个日历表
2020/12/03 Vue.js
JS代码实现页面切换效果
2021/01/10 Javascript
采用Psyco实现python执行速度提高到与编译语言一样的水平
2014/10/11 Python
Python的字典和列表的使用中一些需要注意的地方
2015/04/24 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
基于python3 OpenCV3实现静态图片人脸识别
2018/05/25 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
python在openstreetmap地图上绘制路线图的实现
2019/07/11 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
2020/09/17 Python
上课睡觉检讨书
2014/01/28 职场文书
2015年酒店工作总结范文
2015/04/07 职场文书
预备党员入党感言
2015/08/01 职场文书
中学教师教学工作总结
2015/08/13 职场文书
2016党校学习心得体会
2016/01/07 职场文书
党风廉政教育心得体会2016
2016/01/22 职场文书
《风娃娃》教学反思
2016/02/18 职场文书
六年级作文之预言作文
2019/10/25 职场文书
MySQL分区表管理命令汇总
2022/03/21 MySQL
Win10多屏显示如何设置?Win10电脑多屏显示设置操作方法
2022/07/07 数码科技