我有一个相当大的面向对象的php 5项目,作为变更影响分析的一部分,我想在整个项目中编译一个关于每个现有类的使用情况的报告。
如果我能找到一个现有的工具来分析我项目中的所有文件并生成某种报告,例如列出项目中每个类实例化的对象的所有类名,那将极大地帮助我,并允许我至少要轻松快速地搜索。
任何帮助在这里将不胜感激!
看看nWire for PHP。它会分析您的代码并识别此类关联。它是作为交互式工具构建的,而不是作为报告工具构建的,但是,如果您坚持,您仍然可以连接到其'数据库(它使用与SQL兼容的H2)并使用外部报告工具。
IMO Zend有一些分析工具可以做到这一点,或者你可以从他们的加速器日志中推断出这些信息。
或者尝试使用XDEBUG的this
Xdebug可以trace your code and create code coverage statistics。还有其他工具,如Spike PHPCoverage,它可以生成格式良好的报告,但由于这些工具用于测试覆盖,它只会给你一个布尔结果(例如,使用或不使用代码行)。您可能想要更详细的视图(例如,使用了多少次)。
另一个选择是使用Xdebug的function trace feature。这将为您提供实际调用图的详细报告。您可以从中确定最常用的文件。您需要手动为数据编写解析器,但这不应该太难。
最后,您可以使用静态调用图执行相同的操作。有一些工具可用于PHP。以下是一些:
同样,您可能需要对这些工具的输出进行一些额外的手动解析,以获得适用于您的用例的内容。
Particletree的聪明人,功能和美学上华丽的Wufoo背后的人经常发布和发布他们的PHP工具集和实用程序,最近的是他们的PHP Quick Profiler。你可以说,我对这些家伙有很大的尊重,并喜欢他们所做的事情。
一个好的PHP分析器通常很难找到,而PQP肯定是我遇到过的最好的。也就是说,几乎所有的various application frameworks都有某种形式的剖析系统,谦逊或其他,但没有像PQP那样深入和有用。但是,我经常发现框架分析工具更多地自动链接到代码中,如果你使用框架的标准库,那么你将不得不使用分析工具做很少的实现(这绝对是CodeIgniter的情况) 。但是,如果你想要额外的力量和灵活性,PQP是伟大的。
如果你发现更好的东西,请告诉我 - 我很乐意看到它!
杰米