使用SELECT unnest(nodes) as node, array_agg(id) as ids
FROM nodes
GROUP BY node
ORDER BY node
和get_defined_functions()
时,我确实获得了包含或加载到我的网站中的所有函数和类的列表。
但就我而言,我有一个框架文件夹,其中包含许多文件,包括函数和类,可用于我的所有项目。它还减少了重复的需求。
我加载这样的函数:
get_declared_classes()
因为我使用foreach(glob('dir/local/*.func.php') as $function_file){include $function_file;} // allways load functions from this projects folder
if(defined('use_framework')){ // if framework is activated, load functions from framework aswell.
foreach(glob('dir/framework/*.func.php') as $function_file){
$function_name=explode('.',pathinfo($function_file,PATHINFO_FILENAME));
if(!function_exists($function_name[0])){include $function_file;}
}
}
来加载类,所以没问题...
但是有没有办法检测实际使用了哪些功能?
到目前为止,我只是保持最新状态,但认为可能会有更自动化的方式。
答案 0 :(得分:1)
这是一种答案,可能与您要找的不完全相同:
如果使用单元测试,则可以生成代码覆盖率报告,以确保每个功能的测试都覆盖代码的所有部分。
但是,您可能会遇到这样的情况,即您拥有仅由测试使用的功能。我想找出答案的唯一真实方法是在整个项目的源代码中搜索每个函数的名称。