计算 Netbeans PHP 项目上的代码行数

发布于 2024-12-13 06:43:48 字数 1436 浏览 4 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

邮友 2024-12-20 06:43:48

我还没有找到在 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 文本框中。

I haven't found a way to do that in netbeans (on any OS) but i guess you could get away with something like the following:

Save this little script someplace where you can find it: (lets say "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]));

and use it on the commandline (cmd.exe):

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

With some minor trickery I'm sure you can create a shortcut to it that you can put on the quick launch bar or use it in some other tooling.

Might have bugs since I typed it just now, mostly in the SO text box.

夜深人未静 2024-12-20 06:43:48

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

我发现对我来说可行的解决方案是:Sebastian Bergmann 的phploc。就像魅力一样。

I was looking for the same and stumbled over this question, but the accepted answer is only for LOC, not for LLOC, and ProjectCodeMeter seems to be a bit overkill.

What I found as a working solution for me: phploc by Sebastian Bergmann. Works like a charm.

べ映画 2024-12-20 06:43:48

您可以使用 ProjectCodeMeter 来计算任何 php 项目上的逻辑代码行 (LLOC)(它可以识别注释和空行)

you can use ProjectCodeMeter to count logical lines of code (LLOC) on any php project (it is aware of comments and empty lines)

云归处 2024-12-20 06:43:48

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

You can use PDepend or PHPMetrics. Both are free, open source projects

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文