代码之家  ›  专栏  ›  技术社区  ›  Cam

找出函数的来源?

  •  3
  • Cam  · 技术社区  · 14 年前

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

    .

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

    .

    //file2.php
    where_is_function('foo');//error
    include('file1.php');
    echo where_is_function('foo');//outputs'file1.php'
    
    3 回复  |  直到 10 年前
        1
  •  10
  •   Ben Rowe    14 年前

    给自己找一个好的IDE,比如 netbeans eclipse

    我个人使用netbeans。我必须这么做 ctrl-click 函数名&netbeans将找到函数的定义位置,并自动为我打开该文件。

        2
  •  4
  •   jeffcook2150    14 年前

    grep或类似grep的工具。我更喜欢 ack

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

    cd project/
    grep -Rn "def wallace(" .
    

    Ack是这样的:

    cd project/
    ack "def wallace("
    
        3
  •  2
  •   mwhite    14 年前

    试试这个:

    function getFunctionLocation($fname) {  
        $includeFilesString = implode(" ", get_included_files());  
        return system("grep 'function $fname' $includeFilesString -l");          
    }
    

    但如果只是为了开发的目的,应该是这样的,那就运行吧

    从基本目录