可能重复:
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()')发布于 2012-03-15 13:59:50
您可以在这个函数中使用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]发布于 2012-03-15 14:01:14
如果您只关心函数在代码中的位置,而不需要信息运行时,开发IDE(如NetBeans或Eclipse )具有特定的“跳转到声明”功能。
例如,在NetBeans中,您只需将光标放置在"where_is_this_functiob“文本中的某个位置,然后按CTRL+B,然后尝试加载文件并直接跳转到函数定义。
我确信其他编辑器也有类似的功能。
https://stackoverflow.com/questions/9721140
复制相似问题