【发布时间】:2009-02-16 19:04:08
【问题描述】:
我继承了一个 PHP 应用程序,该应用程序具有页面的“版本”(viewacct.php、viewacct2.php、viewacct_rcw.php 等)。我想发现哪些页面是从应用程序中的其他页面调用的,哪些不是。有没有可用的工具可以帮助解决这个问题?
【问题讨论】:
标签: php
我继承了一个 PHP 应用程序,该应用程序具有页面的“版本”(viewacct.php、viewacct2.php、viewacct_rcw.php 等)。我想发现哪些页面是从应用程序中的其他页面调用的,哪些不是。有没有可用的工具可以帮助解决这个问题?
【问题讨论】:
标签: php
使用您喜欢的任何工具(在 Linux 上使用 Find/Grep/Sed,我在 Windows 上使用 Visual Studio),只需爬取源代码树以获取每个文件中文件名的引用。
【讨论】:
与 FlySwat 的回答类似:任何具有多文件搜索功能的优秀文本编辑器或 IDE 都应该能够帮助您找到孤立页面。在 Mac OS X 上,我建议使用 TextWrangler(免费)、TextMate($)或 BBEdit($$)。我在这些工具上都取得了不错的成功,但你的成功率可能会有所不同。
【讨论】:
如果您想了解其他页面调用了哪些页面,则需要查看调用内容的位置。显然在 php 代码中,您只能通过 include 或 requires 以及这些函数的单数版本来引用其他文件。
所以如果我是你,我会用 grep 你的代码来包含,然后要求并尝试制作某种地图来显示什么在调用什么。最终,您应该得到一个非常清晰的 php 文件如何相互通信的地图。然后你需要弄清楚应用程序的各个点是如何通过 HTML/AJAX 等从那里相互通信的。
祝你好运。我以前做过,这需要一段时间,但你会到达那里,只要确保你记录下你发现的东西。
【讨论】:
您不妨试试nWire for PHP。
nWire for PHP 是一个创新的 Eclipse 插件(与 Eclipse PDT 和 Zend Studio 7 一起使用),它通过帮助开发人员浏览其代码并更好地理解其应用程序的架构来加速 PHP 开发。 nWire 为实时代码可视化、导航和搜索提供独特的工具。
nWire 分析项目中的所有组件和关联。打开文件时,您可以立即看到它在哪里(以及是否)被使用。
【讨论】: