PhpStormでコンストラクタインジェクションを手早く作る


※Windowsのキーで説明します。Macの方は適宜置き換えてください。

事前状態

  • HogeManager
class HogeManager
{
}
  • FugaRepository
class FugaRepository
{
}

やりたいこと

FugaRepositoryHogeManagerにコンストラクタインジェクションしたい。

手順

HogeManagerの中で__(アンダースコアを2回)を入力
→入力候補が出てくる
※もしフォーカスが外れるなどして入力候補が消えてしまった場合は、文字の最後にカーソルを移動してAlt+スペース

public function __construct(){...}を選ぶ
→コンストラクタが作られる

コンストラクタの引数にFugaと入力

FugaRepositoryを選ぶ

スペースを空けて$と入力

fugaRepositoryを選ぶ

$fugaRepositoryにカーソルが合っている状態でAlt+Enter

Initialize fieldsを選ぶ

そのまま「OK」(Enter
→プロパティ定義、プロパティのPHPDoc、コンストラクタ内での値の代入が作られる

もう一度、$fugaRepositoryにカーソルが合っている状態でAlt+Enter
今度はGenerate PHPDoc for functionを選ぶ
→コンストラクタのPHPDocが作られる。

完成

ここまで、ほとんど自分でコード書いてません。
It's cool!!

その他のよく使うショートカット

とりあえずこれだけでも覚えておくと捗ります。

  • 入力補完はAlt+スペース
  • 波下線が出てたらAlt+Enter
  • 定義元にジャンプはCtrl+b
  • 名前の変更はShift+F6
  • namespaceの変更はF6