3

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

例如

@todo 不推荐使用的函数删除.........(functions.php [第 12 行])

这需要在本地 WAMP 服务器上工作。

4

3 回答 3

8

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 ./

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

于 2011-06-13T10:05:15.950 回答
4

Phpdoc 可以从代码库中的注释和方法生成 html 文件。它还将显示待办事项等。

http://www.phpdoc.org/

于 2011-06-13T10:05:50.357 回答
1

PHPStorm 具有提取所有待办事项文件的能力,我在提交之前使用它非常好的功能并且开箱即用。

它对开源许可证免费, http://www.jetbrains.com/phpstorm/

还有各种其他可用的许可证 http://www.jetbrains.com/phpstorm/buy/index.jsp

[我不隶属于 Jetbrains 只是一个喜欢使用它的开发者]

于 2012-11-12T14:41:45.227 回答