5

我的问题是,当我运行phpcpd命令时,我总是得到 0% 的代码结果,无论它是我的项目,是否是任何 php 模块的文件,或者它是我创建的用于检查 phpcpd 是否有效的文件......例如当我检查下面的文件,它也显示 0%:

phpcpd 文件夹/file.php:

<?php

class Class_Two {

    public function aaa()
    {
        if(2 == 2)
        {
            echo 'ok';
        }
    }   

    public function aaa()
    {
        if(2 == 2)
        {
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
        }
    }
    public function aaa()
    {
        if(2 == 2)
        {
            echo 'ok';
        }
    }

    public function aaa()
    {
        if(2 == 2)
        {
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
        }
    }
    public function aaa()
    {
        if(2 == 2)
        {
            echo 'ok';
        }
    }

    public function aaa()
    {
        if(2 == 2)
        {
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
        }
    }
    public function aaa()
    {
        if(2 == 2)
        {
            echo 'ok';
        }
    }

    public function aaa()
    {
        if(2 == 2)
        {
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
        }
    }
    public function aaa()
    {
        if(2 == 2)
        {
            echo 'ok';
        }
    }

    public function aaa()
    {
        if(2 == 2)
        {
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
        }
    }
    public function aaa()
    {
        if(2 == 2)
        {
            echo 'ok';
        }
    }

    public function aaa()
    {
        if(2 == 2)
        {
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
            echo 'ok';
        }
    }

}

class Class_Two {

    public function aaa()
    {
        if(2 == 2)
        {
            echo 'ok';
        }
    }

    public function aaa()
    {
        if(2 == 2)
        {
            echo 'ok';
        }
    }

}

关于为什么它不能正常工作的任何建议?或者也许它应该做一些其他的任务?

4

3 回答 3

4

来自http://www.codediesel.com/tools/detecting-duplicate-code-in-php-files/

默认情况下,phpcpd 将搜索至少 5 个相同的行和 70 个相同的标记。因此,如果代码中的重复行少于 5 个或相同标记少于 70 个,它们将被忽略。要覆盖它,您可以使用 –min-lines 和 –min-tokens 开关。

于 2012-09-01T09:19:37.550 回答
1

尝试在文件夹而不是文件上运行它:

phpcpd /folder/
于 2012-09-01T09:36:21.057 回答
0

哦,我都试过了,但都没有用……我的意思是我总是得到 0 双行,即使我在一个文件中做了很多相同的行。

当我输入 --min-lines 1 --min-tokens 1 但是我收到两个通知: C:/php/pear/PHPCPD/Detector/Strategy/Default.php 中的未定义偏移量在第 106 行...

于 2012-09-01T10:20:21.860 回答