2011-11-01 85 views

回答

5

我還沒有找到一個辦法做到這一點在NetBeans(在任何操作系統上),但我想你可以用類似下面脫身:

保存這個腳本某處,你可以找到它:(可以說 「cntln.php」)

<?php 

function countLinesInFile($fileInfo) 
{ 
    return count(file($fileInfo)); 
} 

function countLinesInDir($directory, $filePattern) 
{ 
    $total = 0; 
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)); 
    foreach($iterator as $fileInfo) 
    { 
     if (-1 < preg_match($filePattern, $fileInfo->getFileName())) 
     { 
      $total += countLinesInFile($fileInfo); 
     } 
    } 
    return $total; 
} 

function usage($argv) 
{ 
    printf("usage: php -q %s <directory> <filematch>\n", reset($argv)); 

    printf(" - directory: path to the root directory of a project.\n"); 
    printf(" - filematch: regex pattern for files to include.\n"); 

    return 1; 
} 

if (count($argv) < 3) 
{ 
    die(usage($argv)); 
} 

printf("%d\n", countLinesInDir($argv[1], $argv[2])); 

,並使用它的命令行(CMD.EXE):

C:>php -q cntln.php "C:\projects\foo" "~\.php$~"

有一些小小的詭計,我相信你可以創建一個快捷方式,你可以把它放在快速啓動欄或在其他工具中使用它。

可能有錯誤,因爲我剛剛輸入它,主要是在SO文本框中。

+0

請注意,這將看到註釋等代碼。但是你可以改變'countLinesInFile'到只有沒有以「〜\ s +?(\/\/|#)〜」開頭的行,才能得到更精確的沒有評論的閱讀。 – Kris

+0

netbeans顯然沒有爲php-projects提供這樣的功能......所以這是一個獨立於IDE的解決方案(+1),現在已經足夠了。謝謝 – 0xDEADBEEF

0

可以使用ProjectCodeMeter來算的任何PHP項目代碼(LLOC)邏輯線(它是知道的評論和空行)

2

我一直在尋找相同的,絆倒了這個問題,但接受答案只適用於LOC,不適用於LLOC,ProjectCodeMeter似乎有點矯枉過正。

我發現作爲工作解決方案的我:phploc作者:Sebastian Bergmann。奇蹟般有效。

0

您可以使用PDepend或PHPMetrics。兩者都是免費的,開源項目