0

PHP CodeSnifferのPHPCompatibility標準を使用して、特定のファイル セットをテストしようとしています。

私は現在これを行うために使用findしています。

find ./path1 ./path2 ./path3 ./path4                                                \
    -type f                                                                         \
    -name '*.php'                                                                   \
    -not -path './path4/dontwantthis/*'                                             \
    -exec ./vendor/bin/phpcs                                                        \
    --standard=PHPCompatibility --runtime-set testVersion 5.6 {}                    \;

ただし、スクリプトの起動はすべてのファイルに対して実行されるため、これは非常に遅く非効率的です。

phpcsスクリプトは次のようなパスを取り、代わりにグロビングパターンを使用し./vendor/bin/phpcs --standard=PHPCompatibility --runtime-set testVersion 5.6 <path-of-your-php-files>て複製する方法を見つけたいと思いますfind<path-of-your-php-files>

私が抱えていた主な問題の 1 つは、含める./path4/*.phpと同時に除外することでした。./path4/dontwantthis/*

4

1 に答える 1

0

の代わりに-execオプションを終了します。これは、ファイル名ごとに個別にではなく、すべてのファイル名でコマンドを 1 回実行するように指示します。+\;find

find ./path1 ./path2 ./path3 ./path4                                                \
    -type f                                                                         \
    -name '*.php'                                                                   \
    -not -path './path4/dontwantthis/*'                                             \
    -exec ./vendor/bin/phpcs                                                        \
    --standard=PHPCompatibility --runtime-set testVersion 5.6 {} +
于 2015-07-23T21:04:55.980 に答える