【PHP】【PHPStorm】PHP-CS-Fixer, PHPStormを使って楽に見やすい配列を作る

 PHPには配列の構文があります。PHPの配列は連想配列であり、次の様に書けます。
 PHP: 配列 – Manual

// ex.1
[
    'a' => 'aa',
    'ab' => 'abab',
    'abc' => 'abcabc',
    'd' => 'abcd',
];

 配列構文は”[“で始まり、”キー=>値”の配列要素を”,”で区切り、”]”で終わります。配列構文において、空白はあってもなくてもかまいません。上記例は、次の様にも書けます。

// ex.2
['a'=>'aa','ab'=>'abab','abc'=>'abcabc','d'=>'abcd',];
// ex,3
[
    'a'   => 'aa',
    'ab'  => 'abab',
    'abc' => 'abcabc',
    'd'   => 'abcd',
];

 おそらくex.3が最も見やすい人が多いのではないでしょうか。縦揃えによるグループ化が認識されるため、どれがキーでどれが値かすぐに認識できるはずです。しかし、最も書きにくいのもex.3です。手打ちするには半角スペースの連打が実に辛いです。この記事では、この縦揃えを自動で行ってくれる仕組みを紹介します。
 一つはPHP-CS-FixerというPHPソースコードの整形、問題修正ツールです。
FriendsOfPHP/PHP-CS-Fixer: A tool to automatically fix PHP Coding Standards issues
friendsofphp/php-cs-fixer – Packagist
 PHP-CS-Fixerの使い方は上記リンクが詳しいです。PHP-CS-Fixerには binary_operator_spaces というルールと、このルールの align_double_arrow オプションがあります。
PHP-CS-Fixer Configurator
 次の様に PHP-CS-Fixer用の設定ファイル(名前は自由。よくあるのは.php_csとか)に記述し、

return PhpCsFixer\Config::create()
    ->setRules(
        [
            'binary_operator_spaces'            => [
                'align_double_arrow' => true,
                'align_equals'       => true,
            ],
        ]
    );

 次の様にPHP-CS-Fixerを実行するとプロジェクト内のPHPソースコードの配列を軒並み縦揃えに整形してくれます。

./vendor/bin/php-cs-fixer fix -vvv --config .php_cs

 PHPStormにも同様の機能があります。設定->エディター->コード・スタイル->PHP->折り返し及び括弧->配列イニシャライザー->Align key-calue pairs で次の画像の様にチェックを入れると Ctrl+Alt+L で走るようなコード整形時に配列を縦揃えにしてくれます。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG