在PHP中查找函数定义的最佳实践

时间:2009-03-28 22:55:30

标签: php file function path

有没有一种简单的方法可以找到定义函数的文件路径?我目前在整个目录中使用dreamweavers FIND。如果有一些不需要下载整个网站的东西会很高兴。

有什么建议吗?

6 个答案:

答案 0 :(得分:3)

我个人使用像Netbeans或Eclipse PDT这样的IDE。在Netbeans的情况下,您可以按住Ctrl键单击一个函数,它将带您进入定义。有时可以选择在哪种情况下它会让你选择一个。

但是在代码中重用不同文件中的函数名称通常是不好的形式。它可能导致难以发现的错误,因为任何程序都很难确切地确定实际调用哪个函数,因为源文件可以动态包含。

答案 1 :(得分:2)

  

很高兴有一些不需要下载整个网站的东西。

我希望这并不意味着您正在远程修改网站。 拥有本地工作副本,进行更改,在本地测试,然后上传更改。

vim和ctags的简单组合使“去定义”任务变得轻而易举。

答案 2 :(得分:1)

除非您拥有所有文件的副本,否则您无法搜索某些内容(并期望找到它)。

许多IDE都能够点击并使用变量或函数到其定义。如果不是这样,那么编辑器中的多文件搜索工具,或者来自命令行的某些东西(例如ack)更专业地搜索源代码可以提供帮助。良好的命名约定也可以帮助实现一致性。

这不是问题,但为什么你不在本地拥有该网站的副本 - 当你在它的时候,也将它保留在版本控制中?

答案 3 :(得分:1)

我确定喜欢这种get_functionPath()能力,并且任何广泛使用其他人的代码的人可能会发现它非常有用。我们有function_exists,如果它可以简单地返回为用户定义的函数定义函数的文件,它将节省TON的麻烦。不,不是我们所有人都使用IDE,是的,我们中的一些人已经做了足够长的时间来在生产机器上进行编码。测试盒和沙箱适合新手使用。

一个技巧是故意触发您尝试定位的功能中的错误。可以节省大量时间。

答案 4 :(得分:1)

您需要使用某种可以在远程文件系统上构建索引的工具,您可以下载并执行本地查找和搜索。我不知道有什么可以做到这一点,谷歌的一些时刻没有发现任何事情。

开源项目可能是一个好主意吗? hinthint

答案 5 :(得分:0)

所以没有功能可以做到这一点?像get_class()这样的东西会输出父类但是在服务器上的文件路径...