PHPStorm Advanced Metadata
PhpStorm Advanced Metadata - PhpStorm
.phpstorm.meta.phpを追加することで、ファクトリメソッドで作成したオブジェクトに型がつく(=チェイン出来る)
ファクトリメソッドの返すオブジェクトの型は、ファクトリメソッドの引数に指定したリテラルの型になる
例えば、Service locatorからインスタンスを引くとき
App::make(AccountService::class)でオブジェクトを作成する
これに続けて->register()のようにAccountServiceクラスのメソッド呼び出しをしたい
このとき、.phpstorm.meta.phpに型を指定しておけば、補完が効くようになる
これをやらない場合、変数にPHPDocをいちいちつけることになる
IntelliJ IDEAでPHPを開発するときに便利
PHPStormと名前にあるが、IntelliJ IDEAでも有効
mockeryなどは https://www.jetbrains.com/help/phpstorm/ide-advanced-metadata.html#map を使う
最近の変更
New .phpstorm.meta.php features | PhpStorm Blog
ググるときの注意
2016.1より前のレガシーな書き方は参考にしないこと