Skip to content

配列記法の設定

問題

VS Code で PHP ファイルを保存すると、自動フォーマッター(PHPCBF)が現代の短縮配列記法 [] を従来の array() 記法に戻してしまう事象がありました。

対応内容

config/phpcs.xml に短縮配列記法を強制するルールを追加しました。

xml
<!-- 短縮配列記法を強制([]を使用し、array()を禁止) -->
<rule ref="Generic.Arrays.DisallowLongArraySyntax" />

このルールにより以下が保証されます。

  • array() 記法はエラーとして検出される
  • PHPCBF のフォーマット時に array() が自動で [] に変換される
  • フォーマット後も現代の [] 記法が維持される

VS Code の設定

.vscode/settings.json で以下を設定しています。

  • デフォルトの PHP フォーマッターに PHPCBF を使用する
  • 保存時にフォーマットを実行する
  • プロジェクトの config/phpcs.xml 規約を適用する

動作確認

設定が正しく動作するかは、次の手順で確認できます。

  • PHPCS で検出: composer lint を実行し、array() 使用箇所がエラーとして報告されることを確認する。
  • PHPCBF で変換: 意図的に array() を書いた PHP ファイルに対して ./vendor/bin/phpcbf --standard=config/phpcs.xml 対象ファイル.php を実行し、[] に変換されることを確認する。