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 相关文章推荐
Fatal error: Call to undefined function curl_init()解决方法
Apr 09 PHP
php set_time_limit(0) 设置程序执行时间的函数
May 26 PHP
fleaphp crud操作之find函数的使用方法
Apr 23 PHP
php插入中文到sqlserver 2008里出现乱码的解决办法分享
Jul 19 PHP
探讨方法的重写(覆载)详解
Jun 08 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
Jul 05 PHP
php中get_object_vars()方法用法实例
Feb 08 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
Feb 14 PHP
Yii2数据库操作常用方法小结
May 04 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 PHP
PHP实现的解汉诺塔问题算法示例
Aug 06 PHP
如何用PHP实现分布算法之一致性哈希算法
May 26 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 CLI实现简单的数据库实时监控调度
2009/07/01 PHP
windows7下安装php的imagick和imagemagick扩展教程
2014/07/04 PHP
php获取linux命令结果的实例
2017/03/13 PHP
PHP+JQUERY操作JSON实例
2017/03/23 PHP
PHP实现文件上传功能实例代码
2017/05/18 PHP
php字符串截取函数mb_substr用法实例分析
2019/06/25 PHP
JQuery的Alert消息框插件使用介绍
2010/10/09 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
2013/11/26 Javascript
使用CSS3的scale实现网页整体缩放
2014/03/18 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
完美实现bootstrap分页查询
2015/12/09 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
Bootstrap框架安装使用详解
2017/01/21 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
搭建简单的nodejs http服务器详解
2017/03/09 NodeJs
妙用Angularjs实现表格按指定列排序
2017/06/23 Javascript
你可能不知道的CORS跨域资源共享
2019/03/13 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
老生常谈Python基础之字符编码
2017/06/14 Python
python爬虫爬取某站上海租房图片
2018/02/04 Python
python调用staf自动化框架的方法
2018/12/26 Python
Django框架设置cookies与获取cookies操作详解
2019/05/27 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
联想新加坡官方网站:Lenovo Singapore
2017/10/24 全球购物
阿根廷票务网站:StubHub阿根廷
2018/04/13 全球购物
电大毕业个人生自我鉴定
2014/03/26 职场文书
成立公司计划书
2014/05/07 职场文书
住房租房协议书
2014/08/20 职场文书
党支部工作总结2015
2015/04/01 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书
实验心得体会范文
2016/01/25 职场文书
详解Java分布式事务的 6 种解决方案
2021/06/26 Java/Android
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技