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下一个非常全面获取图象信息的函数
Nov 20 PHP
php中将地址生成迅雷快车旋风链接的代码[测试通过]
Apr 20 PHP
php中批量删除Mysql中相同前缀的数据表的代码
Jul 01 PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
Jul 28 PHP
php使用smtp发送支持附件的邮件示例
Apr 13 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
Sep 16 PHP
php使用explode()函数将字符串拆分成数组的方法
Feb 17 PHP
举例讲解PHP面对对象编程的多态
Aug 12 PHP
PHP语法小结之基础和变量
Nov 22 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
Laravel学习教程之model validation的使用示例
Oct 23 PHP
PHPMAILER实现PHP发邮件功能
Apr 18 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
1.PHP简介
2006/10/09 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
javascript StringBuilder类实现
2008/12/22 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
2014/02/12 Javascript
将json对象转换为字符串的方法
2014/02/20 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
iScroll.js 使用方法参考
2016/05/16 Javascript
node-http-proxy修改响应结果实例代码
2016/06/06 Javascript
JSP基于Bootstrap分页显示实例解析
2016/06/12 Javascript
用jQuery实现优酷首页轮播图
2017/01/09 Javascript
详解Node.js中exports和module.exports的区别
2017/04/19 Javascript
Angular中ng-options下拉数据默认值的设定方法
2017/06/21 Javascript
详解AngularJS2 Http服务
2017/06/26 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
ES6 class的应用实例分析
2019/06/27 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
2020/10/21 Javascript
python实现的解析crontab配置文件代码
2014/06/30 Python
python 自动化将markdown文件转成html文件的方法
2016/09/23 Python
Python中单、双下划线的区别总结
2017/12/01 Python
浅谈Python中的作用域规则和闭包
2018/03/20 Python
python分批定量读取文件内容,输出到不同文件中的方法
2018/12/08 Python
python实现QQ批量登录功能
2019/06/19 Python
python 读取数据库并绘图的实例
2019/12/03 Python
python第三方库学习笔记
2020/02/07 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
2020/06/12 Python
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
英国电视和家用电器购物网站:rlrdistribution.co.uk
2018/11/20 全球购物
旅游市场营销方案
2014/03/09 职场文书
医学生自我鉴定范文
2014/03/26 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
小兵张嘎观后感
2015/06/03 职场文书
高中升旗仪式主持词
2015/07/03 职场文书
网络舆情信息简报
2015/07/21 职场文书
Python实现聚类K-means算法详解
2022/07/15 Python