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 で走るようなコード整形時に配列を縦揃えにしてくれます。