2

.gm_csプロジェクトのルートに呼び出されるファイルを作成し、php-cs-fixerグローバルにインストールしました。

設定ファイルには次の

<?php
 $rules = array(
     '@PSR2' => true,
     'combine_consecutive_unsets' => true,
     'no_extra_consecutive_blank_lines' => array('break', 'continue', 'extra', 'return', 'throw', 'use', 'parenthesis_brace_block', 'square_brace_block', 'curly_brace_block'),
     'no_useless_else' => true,
     'no_useless_return' => true,
     'ordered_class_elements' => true,
     'array_syntax' => array('syntax' => 'short'),
     'ordered_imports' => true,
     'phpdoc_add_missing_param_annotation' => true,
     'psr4' => true,
     'strict_comparison' => true,
     'strict_param' => true,
 );

 $fixers = array(
     '-pre_increment'
 );

 return PhpCsFixer\Config::create()->setRiskyAllowed(false)->setRules($rules)->fixers($fixers)->in(__DIR__);

次のコマンドを使用して、Windows で git-bash からコマンドを呼び出しています。
php-cs-fixer fix -vvv ./private --config-file=gm_cs

私もこれらを試しました:
php-cs-fixer fix -vvv ./private --config-file=.gm_cs
php-cs-fixer fix -vvv ./private --config-file=./.gm_cs
php-cs-fixer fix -vvv ./private --config gm_cs
php-cs-fixer fix -vvv ./private --config .gm_cs
php-cs-fixer fix -vvv ./private --config ./.gm_cs
php-cs-fixer fix -vvv ./private --config=gm_cs
php-cs-fixer fix -vvv ./private --config=.gm_cs
php-cs-fixer fix -vvv ./private --config=./.gm_cs

.php_cs必死になって、作曲家/ベンダーフォルダーからコピーしました:

<?php
Symfony\CS\Fixer\Contrib\HeaderCommentFixer::setHeader($header);

return Symfony\CS\Config::create()
    // use default SYMFONY_LEVEL and extra fixers:
    ->fixers(array(
        '-pre_increment',
    ))
    ->finder(
        Symfony\CS\Finder::create()
            ->exclude('Symfony/CS/Tests/Fixtures')
            ->in(__DIR__)
    )
;

そして、プレインクリメントを停止するようにフィクサーを減らし、以前にリストされたすべてのコマンドで実行しましたが、それでも問題は解決していません。

何よりも、これは私が継承した大規模なプロジェクトであり、これらすべての変更をまだテストする時間がないため (単体テストはまだ存在しない) 、$i++へのスワップを停止することを望んでいます。++$i

誰かが提供できるアドバイスや助けをいただければ幸いです。

4

2 に答える 2

3

php-cs-fixer私が使用している のバージョンがSymfony\CS\Fixer\1 つであることが判明し、$rules.

さらに、ファイルに名前を付ける必要があります.php_cs

于 2016-12-15T01:18:44.387 に答える
1

Symfony に依存しない例: http://www.inanzzz.com/index.php/post/m9yq/creating-a-standalone-composer-json-library-or-package

.php_cs

return PhpCsFixer\Config::create()
    ->setUsingCache(false)
    ->setRules([
        'array_syntax' => ['syntax' => 'short'],
        'ordered_imports' => true,
    ])
    ->setFinder(
        PhpCsFixer\Finder::create()
            ->exclude(['bin', 'vendor'])
            ->in(__DIR__)
    );

symfony 依存の例:

.php_cs

$finder = Symfony\CS\Finder::create()
    ->exclude(['app', 'spec', 'build', 'bin', 'web', 'vendor'])
    ->in(__DIR__);

return  Symfony\CS\Config::create()
    ->fixers(['short_array_syntax', '-phpdoc_align', 'ordered_use'])
    ->finder($finder);

.php_csファイルのない例:

$ bin/php-cs-fixer fix src --fixers=short_array_syntax
于 2016-12-15T12:05:18.293 に答える