可能重复:
How to find out where a function is defined?
get filename of extended class
使用PHP中的非OO代码,我有时会发现自己正在挖掘代码,找到像“那个函数所在的”这样简单的东西。
function myfunction(){
where_is_this_function();
}
我的问题是,我怎样才能找到where_is_this_function()
所在的文件所在的位置
我知道有调试器,在文件工具和其他选项中查找,但我想知道是否有任何编程方式这样做,因为有时候它更方便。
get_thefunction_file('where_is_this_function()')
答案 0 :(得分:1)
你可以在该函数中使用debug_print_backtrace();
它应该打印它的调用方式以及从哪个文件中
function myfunction(){
debug_print_backtrace();//where_is_this_function();
}
并输出编号列表,如
#0 myfunction() called at [/tmp/include.php:10]
#1 include(/tmp/include.php) called at [/tmp/test.php:3]
答案 1 :(得分:0)
如果您只关心函数在代码中的位置并且不需要信息运行时,那么NetBeans或Eclipse等开发IDE就具有特定的“跳转到声明”功能。
在NetBeans中,您只需将光标放在“where_is_this_functiob”文本中的某个位置,然后按CTRL + B.然后,NetBeans尝试加载文件并直接跳转到函数定义。
我很确定其他编辑有一些类似的功能。