记录哪些文件是执行的一部分? (包含,必需,分类)

时间:2011-11-28 09:15:11

标签: php include code-coverage required

[这是一个代码覆盖问题,只是我希望在生产中使用它,以便精确定位可以删除的代码。]

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

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

“Level 2”:可能包含实际未使用的文件 - 即包含一些函数库,但执行从未实际使用过任何函数。如何追踪? XDebug和其他相当干扰的方式是唯一的选择吗?

3 个答案:

答案 0 :(得分:3)

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

get_included_files();

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

要跟踪加载的类的列表,Xdebug应该是最佳选择 或APD : Advanced PHP debugger

看一下apd_callstack,你会发现一些惊喜。

答案 1 :(得分:2)

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

据我所知,auutoload只会导致需要

答案 2 :(得分:0)

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