2011-11-01 83 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。两者都是免费的,开源项目