php 获取文件名 行号,PHP获取指定函数定义在哪个文件中及行号

当调试开源的代码时,希望查看某个函数的定义,那么就需要定位其位置。特别是有的项目中,函数会有多个地方都有定义,那么如果我想知道当前调用的这个函数是在哪里定义的,可以用下面这个方法。

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;

} www.jbxue.com

$start = $func->getStartLine() - 1;

$end = $func->getEndLine() - 1;

$filename = $func->getFileName();

echo "function $funcname defined by $filename($start - $end)\n";

}

Zend studio 这样的 IDE 支持跳转到函数定义。

C++编译错误 --- 成员函数定义在 .h 文件中出现重定义错误(Error LNK 2005)

今天写了一个简单的类,定义在 .h 文件中, 类很简单就将其成员函数定义在了一起(class类后面).运行的时候出现了如下图所示的编译错误(error LNK2005) 查资料,大部分都是说需要加上 ...

将inline、template声明和定义在头文件中

如果要在要在源文件(a.cpp)中内联的展开一个函数(fun),则该源文件(a.cpp)中必须包含此函数(fun)的定义.如果要在多个文件中内联的展开fun,则在所有的源文件中都必须包含fun的定义. ...

PHP 获取指定目录下所有文件(包含子目录)

PHP 获取指定目录下所有文件(包含子目录) //glob — 寻找与模式匹配的文件路径 $filter_dir = array('CVS', 'templates_c', 'log', 'img', ...

PHP 批量获取指定目录下的文件列表(递归,穿透所有子目录)

//调用 $dir = '/Users/xxx/www'; $exceptFolders = array('view','test'); $exceptFiles = array('BaseContr ...

[转]C# 获取指定目录下所有文件信息、移动目录、拷贝目录

原文:http://blog.csdn.net/vchao13/article/details/6200255 1.获取指定目录下所有文件信息 ///  /// 返回指定 ...

Python获取指定路径下所有文件的绝对路径

需求 给出制定目录(路径),获取该目录下所有文件的绝对路径: 实现 方式一: import os def get_file_path_by_name(file_dir): ''' 获取指定路径下所有文 ...

Tools下的mdscongiguer 文件中 43行 oracle 配置 发现需要连接库 -lclntsh libclntsh.so 库是个什么东西呢?

Tools下的mdscongiguer     文件中 43行  oracle 配置      发现需要连接库 -lclntsh      libclntsh.so 库是个什么东西呢? 分想一个知乎网 ...

vs报错“以下文件中的行尾不一致,是否将行尾标准化”

vs报错"以下文件中的行尾不一致,是否将行尾标准化" 分析: 通过读取源文件,发现换行都使用的是"\n"   Windows和Unix不同的标准引起的...即& ...

Linux Shell 之 对文件中的行、单词、字符进行迭代

在进行文本文件进行处理时,对文件件中的行.单词.字符进行迭代和遍历是非常常用的操作.而将一个简单的循环用于迭代,再加上来自stdin或文件的重定向,这就是对文件中的行.单词.和字符进行迭代的基本方法. ...

随机推荐

使用App.config管理数据库连接

程序的数据库连接字符串可以保持在程序的配置文件App.config中,便于管理. 将配置文件添加至解决方案: 添加连接信息: <?xml version="1.0"?> ...

清华学堂 列车调度(Train)

列车调度(Train) Description Figure 1 shows the structure of a station for train dispatching. Figure 1 In ...

timus 1136 Parliament&lpar;二叉树&rpar;

Parliament Time limit: 1.0 secondMemory limit: 64 MB A new parliament is elected in the state of MMM ...

android背景平铺方式 tileMode

创建重复的背景图片  在drawable目录下创建一个repeat_bg.xml:    然后在布局的xml文件中可以这样引用:    ================================ ...

Binding 之ObjectDataProvider数据源

ObjectDataProvider数据源它可以把对象作为数据源提供给Binding,可用于绑定函数, 实例如下 public partial class BindObiectDataProvider ...

深入理解C&sol;C&plus;&plus;数组和指针

C语言中数组和指针是一种很特别的关系,首先本质上肯定是不同的,本文从各个角度论述数组和指针. 一.数组与指针的关系数组和指针是两种不同的类型,数组具有确定数量的元素,而指针只是一个标量值.数组可以在某 ...

&lbrack;置顶&rsqb; 小白学习KM算法详细总结--附上模板题hdu2255

KM算法是基于匈牙利算法求最大或最小权值的完备匹配 关于KM不知道看了多久,每次都不能完全理解,今天花了很久的时间做个总结,归纳以及结合别人的总结给出自己的理解,希望自己以后来看能一目了然,也希望对刚 ...

Groovy学习笔记-陷阱

1.def和in是关键字 2.==映射到了equals() 中,如果有Comparable接口实现,则优先compareTo str1 = 'hello' str2 = str1 str3 = new ...

JDK线程池的拒绝策略

关于新疆服务请求未带入来话原因的问题 经核查,该问题是由于立单接口内部没有成功调用接续的 “更新来电原因接口”导致的,接续测更新来电原因接口编码:NGCCT_UPDATESRFLAG_PUT ,立单接 ...

git 提交丢失Warning&comma; you are leaving 2 commits behind&comma;

早上在自己的一个版本代码上编辑,提交commint,但是checkout到其他分支再checkout回来发现该的东西不见了, 幸好terminal还没有关掉,回看日志: Warning: you ar ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值