Php 找出函数的来源?

Php 找出函数的来源?,php,function,Php,Function,有时,我会被交给臃肿的、没有文档的、有缺陷的PHP代码来修复。我有几个工具可以用来尽快修复这些代码 有一件事我不知道该怎么做,有时会让我感到悲伤,那就是找到函数的位置(它是在哪个文件中定义的)。请注意,我不想知道从哪里调用函数 例如,我希望能够做到这一点: //file1.php function foo(){ echo 'bar'; } 为自己准备一个好的IDE,例如或。它们具有查找函数声明的功能,还可以查找这些函数的用法(在重构中) 就我个人而言,我使用netbeans。我只需按

有时,我会被交给臃肿的、没有文档的、有缺陷的PHP代码来修复。我有几个工具可以用来尽快修复这些代码

有一件事我不知道该怎么做,有时会让我感到悲伤,那就是找到函数的位置(它是在哪个文件中定义的)。请注意,我不想知道从哪里调用函数

例如,我希望能够做到这一点:

//file1.php
function foo(){
    echo 'bar';
}


为自己准备一个好的IDE,例如或。它们具有查找函数声明的功能,还可以查找这些函数的用法(在重构中)

就我个人而言,我使用netbeans。我只需按住ctrl键单击函数名,netbeans就会找到函数的定义位置,并自动为我打开该文件。

尝试以下操作:

function getFunctionLocation($fname) {  
    $includeFilesString = implode(" ", get_included_files());  
    return system("grep 'function $fname' $includeFilesString -l");          
}
但如果它只是为了开发目的,它应该是,那么就运行它

grep-r“函数名”*


从基本目录

grep或类似grep的工具。我更喜欢,这使得输出更容易阅读,并且默认情况下忽略版本控制文件。我非常喜欢这些工具,而不是限制自己在一个臃肿的、点击式的IDE中编写代码。对我来说,用这种方式找到东西总是比Eclipse这样的东西更有效

要使用grep,您需要将cd复制到基本目录,然后递归地grep目录中的内容以获得函数名,可能包括定义函数的关键字。像这样:

cd project/
grep -Rn "def wallace(" .
Ack类似于:

cd project/
ack "def wallace("

比方说,我被一个客户端委托对测试服务器上的一些代码进行一些修复。他们给了我FTP信息,我就进去修理。我会发现下载所有文件并在本地用IDE进行设置很麻烦(这通常是我使用IDE的方式——所有文件都在本地/存在于我的机器上)。我是否可以使用IDE(最好是netbeans)?netbeans允许您通过ftp设置远程项目,因为+1 netbean非常好。phpDesigner7也很好(但要花钱),我正在尝试使用netbeans,但遗憾的是它不起作用-一旦我进入远程配置的最终屏幕,Finish按钮什么都不做(我可以按下它,但什么都没有发生)。真是太遗憾了——这是我最喜欢的IDE之一。下一个最好的(免费的)是什么?Eclipse?更新:能够使用netbeans 6.8下载。稍后,我会更新我的问题,更详细地说明问题的进展情况:)@Andrey-因为你说了一些有趣的话,所以我投票给了你。你不是认真的吧?Vim是我的开发环境,所以我就是这样找到函数的。没必要大惊小怪,厨师纸。
cd project/
ack "def wallace("