3

[这是一个代码覆盖率问题,只是我希望在生产中使用它,目的是找出可以删除的代码。]

是否有可能以某种方式记录哪些文件是 PHP 执行的一部分?也就是说,当一个文件作为某个入口点执行的一部分被加载时,有没有办法记录这个事实?即,当文件被包含、需要或作为类加载的一部分加载时——除了入口点 php 文件本身之外?(类加载部分可能是最简单的,因为您可以自己处理类加载器)。

背景:我有一个带有一些遗留代码的代码库 - 作为清理工作,删除不再使用的文件会很好。这个技巧可以让我知道哪些文件正在使用中。运行此日志记录足够长的时间,您可以简单地删除所有未触及的日志记录。

“级别 2”:可能包含实际上未使用的文件 - 即包含一些函数库,但执行从未实际使用那里的任何函数。如何跟踪这个?XDebug 和其他相当侵入性的方式是唯一的选择吗?

4

3 回答 3

3

如果您正在寻找包含的文件:-

get_included_files();

http://php.net/manual/en/function.get-included-files.php

要跟踪加载的类列表,Xdebug 应该是最佳选择。
APD:高级 PHP 调试器

看一看apd_callstack,你会在那里发现一些惊喜。

于 2011-11-28T09:19:34.760 回答
2

http://www.php.net/manual/en/function.get-included-files.php

就我而言,自动加载只会导致需要

于 2011-11-28T09:20:49.867 回答
0

我相信你可以利用一些 debug_backtrace() 输出。

于 2011-11-28T09:23:20.203 回答