PHP函数位于何处?(在哪个文件中)

PHP函数位于何处?(在哪个文件中),php,debugging,Php,Debugging,可能重复: 我有一个相当复杂的OOP PHP项目,有很多类、库和帮助程序可供使用 在调试过程中,我有时会发现,当某个特定函数的实例存在于不同的文件或类中时,很难找到它所使用的实例,而且如果不查看整个代码,我就无法判断包含了哪个类或库 我想知道是否有一种语言结构、一个函数甚至一个外部工具(例如调试器)可以帮助我准确地定位特定函数位于哪个文件和哪一行 例如,类似于: moditem(25); // How I call the function usually echo locate_functi

可能重复:

我有一个相当复杂的OOP PHP项目,有很多类、库和帮助程序可供使用

在调试过程中,我有时会发现,当某个特定函数的实例存在于不同的文件或类中时,很难找到它所使用的实例,而且如果不查看整个代码,我就无法判断包含了哪个类或库

我想知道是否有一种语言结构、一个函数甚至一个外部工具(例如调试器)可以帮助我准确地定位特定函数位于哪个文件和哪一行

例如,类似于:

moditem(25); // How I call the function usually
echo locate_function('moditem');
Function moditem() is located in file: lib/users.php, line 234.
要显示以下内容:

moditem(25); // How I call the function usually
echo locate_function('moditem');
Function moditem() is located in file: lib/users.php, line 234.
下面是一个片段:

...
return TRUE;
}

function moditem($id){
    $modify = $this->modify($id);
    return $modify;
}
...

我的IDE有一种方法可以引导我找到函数声明,但是当我有20个文件具有相同名称的函数的不同版本时,它会变得混乱。

通常在IDE中,您可以按CTRL+
单击
,它会带您到函数声明

或者,如果只需要调试输出,可以在函数中执行此操作:

echo __FILE__ . ":" . __LINE__;

通常在IDE中,您可以按CTRL+
单击
,它将带您进入函数声明

或者,如果只需要调试输出,可以在函数中执行此操作:

echo __FILE__ . ":" . __LINE__;

请参阅和类似的相关反射方法


请参阅和类似的相关反射方法。

我使用NetBeans IDE,它有一个惊人的内置搜索功能,可以做你想做的事情。你是否推断你在许多文件中有相同的功能做同样的事情?如果是这样的话,你有一个架构问题,如果解决了这个问题,可能会解决你所问的副作用。听起来你的代码库是问题的一部分。为什么有20个文件具有相同的功能?这是继承还是草率的代码?可能是重复的(或更多重复的类似)。我使用NetBeans IDE,它有一个惊人的内置搜索功能,可以做你想做的。你是否推断你在许多文件中有相同的功能做同样的事?如果是这样的话,你有一个架构问题,如果解决了这个问题,可能会解决你所问的副作用。听起来你的代码库是问题的一部分。为什么有20个文件具有相同的功能?这是继承还是草率的代码?可能重复(以及类似的更多重复)。您和您的高级函数:-P@Neal你和你的魔法常数:p我只想补充一点,您还可以使用$ref->getstartine()获得函数在其特定文件中的确切起始行。您和您喜欢的函数:-P@Neal你和你的魔法常数:我们只想补充一点,您还可以使用$ref->getstartine()来获取函数在其特定文件中的确切起始行。但这并不能解决问题:只需显示echo语句所在的行和文件即可。如果他能把它放在他的函数中,他可能已经知道它的位置了。:-)@FiskDisk lol我要说的是将它放在所有版本的函数中。但这并不能解决问题:只需显示echo语句所在的行和文件。如果他能把它放在他的函数中,他可能已经知道它的位置了。:-)@FiskDisk lol我是说把它放在所有版本的函数中。