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学习 字符串课件
Jun 15 PHP
PHP 获取远程文件内容的函数代码
Mar 24 PHP
PHP字符串处理的10个简单方法
Jun 30 PHP
解析如何去掉CodeIgniter URL中的index.php
Jun 25 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
Oct 22 PHP
Yii使用Captcha验证码的方法
Dec 28 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
Mar 03 PHP
php 微信公众平台开发模式实现多客服的实例代码
Nov 07 PHP
php+ajax实现异步上传文件或图片功能
Jul 18 PHP
Django 中 cookie的使用
Aug 17 PHP
Laravel创建数据库表结构的例子
Oct 09 PHP
laravel按天、按小时,查询数据的实例
Oct 09 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实现mysql同步的实现方法
2009/10/21 PHP
分割GBK中文遭遇乱码的解决方法
2013/08/09 PHP
如何使用php等比例缩放图片
2016/10/12 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
jQuery阻止事件冒泡具体实现
2013/10/11 Javascript
jQuery中:lt选择器用法实例
2014/12/29 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
学习JavaScript设计模式之责任链模式
2016/01/18 Javascript
JS组件中bootstrap multiselect两大组件较量
2016/01/26 Javascript
jquery ajax局部加载方法详解(实现代码)
2016/05/12 Javascript
JS/jQuery判断DOM节点是否存在的简单方法
2016/11/24 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
详解Vue单元测试Karma+Mocha学习笔记
2018/01/31 Javascript
Angular5给组件本身的标签添加样式class的方法
2018/04/07 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
Vue.js中的组件系统
2019/05/30 Javascript
关于ES6尾调用优化的使用
2020/09/11 Javascript
[46:20]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第二场 1月22日
2021/03/11 DOTA
合并百度影音的离线数据( with python 2.3)
2015/08/04 Python
在Python中,不用while和for循环遍历列表的实例
2019/02/20 Python
python 日期排序的实例代码
2019/07/11 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
html5新增的定时器requestAnimationFrame实现进度条功能
2018/12/13 HTML / CSS
BrandAlley英国:法国折扣奢侈品网上零售商
2017/07/03 全球购物
英国美术用品购物网站:Cass Art
2019/10/08 全球购物
就业推荐自我鉴定
2013/10/06 职场文书
中文专业学生自我评价范文
2014/02/06 职场文书
创先争优一句话承诺
2014/05/29 职场文书
优秀党员学习焦裕禄精神思想汇报范文
2014/09/10 职场文书
2014年教学工作总结
2014/11/13 职场文书
2015年银行工作总结范文
2015/04/01 职场文书
网络研修随笔感言
2015/11/18 职场文书
《钓鱼的启示》教学反思
2016/02/18 职场文书
浅谈如何写好演讲稿?
2019/06/12 职场文书
git stash(储藏)的用法总结
2022/06/25 Servers