gpt4 book ai didi

php - 如何扫描项目中的 "@todo"源代码注释

转载 作者:可可西里 更新时间:2023-11-01 00:01:12 24 4
gpt4 key购买 nike

有没有什么方法可以扫描代码库中的任何 TODO,并生成一个可以显示在标准网页上的列表。

例如

@todo Deprecated function remove......... (functions.php [Line 12])

这需要在本地 WAMP 服务器上运行。

最佳答案

Windows 平台 上,或者如果您想使用PHP 本身,您可以使用...

function getTodos($path) {
$todos = array();
$items = glob(rtrim($path, '/') . '/*');

foreach($items as $item) {

if (is_file($item) AND pathinfo($item, PATHINFO_EXTENSION) == 'php') {
$fileContents = file_get_contents($item);

$tokens = token_get_all($fileContents);

foreach($tokens as $type = $token) {
if (($type == 'T_COMMENT' OR $type == 'T_ML_COMMENT')
AND preg_match_all('/^\s*(?P<todo>@todo.*?)\z/m', $token, $matches) {
$todos = array_merge($todos, $matches['todo']);
}
}

} else if (is_dir($item)) {
$todos = array_merge$($todos, getTodos($item));
continue;
}

}

return $lines;
}

我没有测试过,但理论上应该可以。 :)

*nix 上,您可以使用 grep...

$ grep -r \b@todo\b ./

它并不完美(它会在字符串中找到它)但它应该足够好了。 :)

关于php - 如何扫描项目中的 "@todo"源代码注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6329024/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com