计算Netbeans PHP项目的代码行

时间:2011-11-01 16:28:47

标签: php netbeans metrics loc

我如何计算Netbeans PHP项目的LOC?

我在Windows 7上使用Netbeans 7.0.1

4 个答案:

答案 0 :(得分: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:GT; php -q cntln.php "C:\projects\foo" "~\.php$~"

通过一些小技巧,我确信你可以创建一个快捷方式,你可以把它放在快速启动栏上或在其他工具中使用它。

因为我刚刚输入错误,可能会有错误,主要是在SO文本框中。

答案 1 :(得分:2)

我一直在寻找同样的问题并且偶然发现了这个问题,但是接受的答案仅适用于LOC,而不是LLOC,而ProjectCodeMeter似乎有点矫枉过正。

我为我找到了一个有效的解决方案:Sebastian Bergmann phploc。像魅力一样。

答案 2 :(得分:0)

你可以使用ProjectCodeMeter计算任何php项目的逻辑代码行(LLOC)(它知道注释和空行)

答案 3 :(得分:0)

您可以使用PDepend或PHPMetrics。两者都是免费的开源项目

相关问题