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随机数生成代码与使用实例分析
Apr 08 PHP
Server.HTMLEncode让代码在页面里显示为源代码
Dec 08 PHP
PHP函数实现从一个文本字符串中提取关键字的方法
Jul 01 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
Dec 17 PHP
PHP浮点数的一个常见问题
Mar 10 PHP
php解析mht文件转换成html的实例
Mar 13 PHP
php实现留言板功能(代码详解)
Mar 28 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
Jun 09 PHP
Yii 2中的load()和save()示例详解
Aug 03 PHP
PHP7引入的&quot;??&quot;和&quot;?:&quot;的区别讲解
Apr 08 PHP
PHP中有关长整数的一些操作教程
Sep 11 PHP
php png失真的原因及解决办法
Oct 24 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
windows server 2008/2012安装php iis7 mysql环境搭建教程
2016/06/30 PHP
PHP常见的6个错误提示及解决方法
2016/07/07 PHP
PHP入门教程之表单与验证实例详解
2016/09/11 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
2017/04/05 PHP
使Ext的Template可以解析二层的json数据的方法
2007/12/22 Javascript
jQuery表格插件ParamQuery简单使用方法示例
2013/12/05 Javascript
浅谈javascript中的闭包
2015/05/13 Javascript
举例简介AngularJS的内部语言环境
2015/06/17 Javascript
浏览器中url存储的JavaScript实现
2015/07/07 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
2016/12/13 Javascript
bootstrap table 多选框分页保留示例代码
2017/03/08 Javascript
详解NodeJS框架express的路径映射(路由)功能及控制
2017/03/24 NodeJs
JS+Ajax实现百度智能搜索框
2017/08/04 Javascript
BootStrap 页签切换失效的解决方法
2017/08/17 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
javascript中layim之查找好友查找群组
2021/02/06 Javascript
Python 将Matrix、Dict保存到文件的方法
2018/10/30 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
python二进制读写及特殊码同步实现详解
2019/10/11 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
2020/03/20 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
HTML5边玩边学(3)像素和颜色
2010/09/21 HTML / CSS
英国家电购物网站:Sonic Direct
2019/03/26 全球购物
网络工程与软件技术毕业生自荐信
2013/09/24 职场文书
党员年终民主评议的自我评价
2013/11/05 职场文书
家长对老师的评语
2014/04/18 职场文书
2014年城市管理工作总结
2014/12/02 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
关于观后感的作文
2015/06/18 职场文书
2016春季校长开学典礼致辞
2015/11/26 职场文书
远程教育学习心得体会
2016/01/23 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
Pytest实现setup和teardown的详细使用详解
2021/04/17 Python