有没有办法扫描代码库中的任何 TODO 并生成可以显示在标准网页上的列表。
例如
@todo 不推荐使用的函数删除.........(functions.php [第 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 ./
它并不完美(它会在字符串中找到它)但它应该足够好。:)
Phpdoc 可以从代码库中的注释和方法生成 html 文件。它还将显示待办事项等。
PHPStorm 具有提取所有待办事项文件的能力,我在提交之前使用它非常好的功能并且开箱即用。
它对开源许可证免费, http://www.jetbrains.com/phpstorm/
还有各种其他可用的许可证 http://www.jetbrains.com/phpstorm/buy/index.jsp
[我不隶属于 Jetbrains 只是一个喜欢使用它的开发者]