通过新认识的大型 PHP 应用程序调试我的方式并检测死代码的最佳方法?
Best way to debug my way through a newly acquainted large PHP app and detect dead code?
今天,我面临着一堆 web 服务的一些新的未知代码,我需要理解它。该代码使用带有 HMVC 扩展的 CodeIgniter,这很有帮助,但问题是它包含许多 unused/old/etc...files/folders。我最近转换为使用 PHP 也无济于事,所以我仍在学习最佳实践。
- 有没有办法将调试器设置为在每个 PHP 文件的开头中断? (我已经设置好 Xdebug,准备好运行了)
- 分析未使用文件代码的最有效方法是什么? (为此我看到了一些项目,但不确定从哪里开始)
谢谢!
根据评论中的讨论,我想知道 XDebug 中的执行覆盖工具是否会在这里有所帮助。这是一个低级代码监视器,可在您启动程序时监视已执行的 PHP 代码行。如您所料,这会增加一定程度的开销,因此通常不会将其添加到实时环境中。
像 Travis 和 Scrutinizer 这样的托管构建系统会进行代码覆盖率报告,尽管它们可能依赖 PHPUnit 和 XDebug 这样的工具才能真正发挥作用。
今天,我面临着一堆 web 服务的一些新的未知代码,我需要理解它。该代码使用带有 HMVC 扩展的 CodeIgniter,这很有帮助,但问题是它包含许多 unused/old/etc...files/folders。我最近转换为使用 PHP 也无济于事,所以我仍在学习最佳实践。
- 有没有办法将调试器设置为在每个 PHP 文件的开头中断? (我已经设置好 Xdebug,准备好运行了)
- 分析未使用文件代码的最有效方法是什么? (为此我看到了一些项目,但不确定从哪里开始)
谢谢!
根据评论中的讨论,我想知道 XDebug 中的执行覆盖工具是否会在这里有所帮助。这是一个低级代码监视器,可在您启动程序时监视已执行的 PHP 代码行。如您所料,这会增加一定程度的开销,因此通常不会将其添加到实时环境中。
像 Travis 和 Scrutinizer 这样的托管构建系统会进行代码覆盖率报告,尽管它们可能依赖 PHPUnit 和 XDebug 这样的工具才能真正发挥作用。