PHPエンジニアの皆さん、PhpStorm使ってますか?まだ使ったこと無い方は30日FreeTrialを使ってみましょう。使っている方は続きを読んでください。
PHP5.4で導入されたショートアレイ(array()
を []
と書くやつ)を使うとコードが読みやすくなって非常に良いですよね。
1 2 3 4 |
$obj->save(array( 'field', function ($data) { if (empty($data)) return false; return in_array($data->text, array('hoge', 'foo')); })); |
この閉じカッコはどれの閉じカッコやねんみたいな問題もすっきり。
1 2 3 4 |
$obj->save([ 'field', function ($data) { if (empty($data)) return false; return in_array($data->text, ['hoge', 'foo']); }]); // お、最後から2番めのカッコは配列の閉じカッコだな |
ですが、PHP5.4以前から開発してきたコードにショートアレイを導入しようとすると、どうしてもarray()
と[]
が混在する問題に頭を悩まされます。
PHPのarray()を[]に置換する方法 | Mawatari.jp
上記、記事では一括置換のやり方が紹介されていましたが、気になる一言が。
PhpStormでarray()を[]に置換する
PhpStormでも、標準機能として備わっていました。(普段、使っているのに、まだまだ知らない機能が一杯だなー)
以下に、方法を示します。
(中略)
ファイル全体であったり、ディレクトリを対象に置換する方法は見つけることができませんでした。
しかし、記事が書かれたのは2013年12月。最新のPhpStormでarray()を[]に置換する方法が無いか調べてみました。
結論、一括置換できました。
というわけでやり方を紹介します。
PhpStormのリフォーマット機能でarray()を[]に置換する設定
環境
- Mac OS X El Capitan
- PhpStorm 10.0.3
設定画面からEditor > Code Style > PHP > Otherを開くと「Array declaration style」という項目が見つかります。
設定項目の意味
- Force short declaration style
- 配列を強制的にshort array syntaxに変更します
- Align key-value pairs
- ‘key’ => ‘value’ のvalueの位置を揃えます
- Add a comma after last element in multiline array
- 配列の一番最後の要素にカンマを追加します
2番めの設定は好みによると思いますが、基本的に全部チェックを入れていいでしょう。
では、コードを開いてCommand+option+L (WindowsならCtrl + Alt + L)を押してリフォーマットを実行してみましょう。

コード内にあるarray()16個を[]に置き換え成功
簡単なのでお試しあれ。
著者プロフィール
- 開発部にいるのに何やってるの?と他のスタッフからよく思われてます。ブログ書いたり、社外勉強会でプレゼンしたり、やたらと会社の備品を増やしたり。ちゃんと仕事やってますよ?