Tech Blog

php-cs-fixerのインストールとオススメの設定

2021-07-05

インストール方法

グローバルのComposerにインストール

グローバルのComposerにインストールするという方法があります。

composer global require friendsofphp/php-cs-fixer

HomeBrewでインストール

MacOSならHomebrewからでもインストール可能。

個人で開発するならこれでもOK。

brew upgrade php-cs-fixer

プロジェクトごとにインストール

最もオススメなのが、プロジェクト専用のcomposer.jsonファイルでインストールする方法です。

プロジェクトごとでバージョンをあわせられるので、複数人のプロジェクトの場合はこちらがよいと思います。

cd path/to/project_root
composer require friendsofphp/php-cs-fixer
 
## 実行方法
./vendor/bin/php-cs-fixer fix

設定

.php-cs-fixer.dist.phpを作成する。

@〜というルールセットがあるので、適当にルールセットを選ぶだけでもいい感じ のルールにしてくれる。

また、配列の後のルールのほうが勝つようなので、上書きしたいルールがある場合は下に書く。

例えば、position_after_control_structuresを上書きしたい場合は以下のような感じにする。

<?php
 
$finder = PhpCsFixer\Finder::create()
    ->exclude('vendor')
    ->exclude('bootstrap/cache')
    ->notPath('server.php')
    ->in(__DIR__)
;
 
$config = new PhpCsFixer\Config();
return $config->setRules([
        '@Symfony' => true,
        '@PhpCsFixer' => true,
        'braces' => [
            'position_after_control_structures' => 'next',
        ],
    ])
    ->setFinder($finder)
;

実行

# dry-run
./vendor/bin/php-cs-fixer fix --dry-run
 
# ディレクトリ指定
./vendor/bin/php-cs-fixer fix ./src
 
# すべてのファイルに対して実行
./vendor/bin/php-cs-fixer fix

.gitignoreの設定

.gitignoreに以下を追記する

.php-cs-fixer.cache

その他プロジェクトごとにgit管理対象外のファイルは追加しておく。