PHP复制粘贴检测器

时间:2012-09-01 09:15:27

标签: php pear

我的问题是,当我运行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';
        }
    }

}

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

3 个答案:

答案 0 :(得分:4)

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

  

默认情况下,phpcpd将搜索至少5个相同的行和   70个相同的代币。因此,如果有少于5个重复行   代码或少于70个相同的令牌将被忽略。至   覆盖它你可以使用-min-lines和-min-tokens开关。

答案 1 :(得分:1)

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

phpcpd /folder/

答案 2 :(得分:0)

哦,我试过了两个,没有一个工作......我的意思是即使我在文件中制作了很多相同的行,我总是得到0倍的行。

当我键入--min-lines 1 --min-tokens 1但是我得到两个注意事项:C中的未定义偏移量:106行上的/php/pear/PHPCPD/Detector/Strategy/Default.php ...