5

私の問題は、phpcpdコマンドを実行すると、プロジェクト、phpモジュールのファイル、またはphpcpdが機能するかどうかを確認するために作成したファイルに関係なく、常に0%の2倍のコード結果が得られることです...たとえば、以下のファイルを確認すると、0%も表示されます。

phpcpd folder / 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と入力すると、2つの通知が表示されます。C:/php/pear/PHPCPD/Detector/Strategy/Default.phpの106行目の未定義のオフセット...

于 2012-09-01T10:20:21.860 に答える