3

コードベースをスキャンしてTODOを探し、標準のWebページに表示できるリストを生成する方法はありますか。

例えば

@todo非推奨の関数remove.........(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 には、すべての todo ファイルをプルアップする機能があります。私は、コミットを行う前にそれを使用します。非常に優れた機能であり、そのまま使用できます。

オープン ソース ライセンスは無料です 。 http://www.jetbrains.com/phpstorm/

他にもさまざまなライセンスが利用可能です http://www.jetbrains.com/phpstorm/buy/index.jsp

[私は Jetbrains とは提携していませんが、それを使用するのが好きな開発者です]

于 2012-11-12T14:41:45.227 に答える