如何从目录和子目录中找到包含在多个文件中的函数?

时间:2012-02-10 09:39:53

标签: php search

假设我有从多个php文件调用的这个php函数

  

do_something($变种);

如何找到调用该函数的文件?

稍后编辑:我想在Windows上执行此操作

3 个答案:

答案 0 :(得分:3)

至少有一些IDE可以在当前项目中搜索某些变量,函数调用等的所有实例。如果您使用的是IDE,请查看它的帮助。

如果您使用的是* nix系统,则可以使用grep进行搜索:

grep do_something *.php'

以上内容将在所有以“.php”扩展名结尾的文件中搜索当前工作目录中的“do_something”文本。您可以展开此选项以使用find command

搜索当前目录的所有子目录
find . -name "*.php" -exec grep do_something {} \;

使用* nix命令行中的'man grep'和'man find'来了解更多信息。

如果你在Windows上,我相信find command可以做类似的事情,我对它不熟悉,但基本语法看起来应该是这样的:

find "do_something" *.php

答案 1 :(得分:3)

三种方法:

  1. 使用合理的目录结构和应用程序设计。如果你正在关注OOD并且有一个清晰的目录结构,那么找到任何类及其方法的声明应该很容易。如果方法是在父类中声明的,则只需扫描继承树。如果,OTOH,你正在编写意大利面条代码并使用大量的全局功能,那么......你有更大的问题。

  2. 请参阅文档。任何相当大的应用程序都应该有一个记录良好的API,它至少应包括所有类及其成员函数和属性的列表。 API文档还应该告诉您每个类定义的文件。在API中快速搜索会提供您需要的信息。

  3. 使用像Eclipse这样的智能IDE来解析您的代码和类定义。 Eclipse有一个Open Declaration function,它将打开声明元素的源文件并显示声明。

  4. 你应该总是做前两个;最后只是一种便利。

答案 2 :(得分:0)

Adobe Dreamweaver具有网站范围/目录文本搜索功能,eclipse workbenchUltraEditTopStyle Pro也是如此。