Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
補完したい話 6/27 PHP勉強会@東京 前田 和人
Slide 2
Slide 2 text
PHP Conference スポンサー募集中
Slide 3
Slide 3 text
自己紹介 ■ 前田 和人 ■ @chiroruxxxx ■ 弁護士ドットコム株式会社 ■ 補完機能依存
Slide 4
Slide 4 text
補完機能依存 ■ もはや補完がないと生きていけない – すべてPhpStormのせい ■ シェルも補完がないとつらい – fish最高! ■ 今日はPhpStormの話をするよ(fishはまた今度)
Slide 5
Slide 5 text
補完が効かないやつら ■ factory ■ サービスコンテナ ■ 「引数によって返す型が違う」メソッドから生成されたインスタンスが補完で きない $user = factory(User::class)->create(); $api = resolve(API::class);
Slide 6
Slide 6 text
つらい
Slide 7
Slide 7 text
頑張れば補完できるけど・・・ ■ PHPDocで型を明示してあげれば補完できるけど・・・ ■ 毎回これ書くのはちょっとしんどい ■ 補完のためにコード長くするのも・・・ /** @var ¥App¥User $user */ $user = factory(User::class)->create();
Slide 8
Slide 8 text
.phpstorm.meta.php ■ .phpstorm.meta.phpというファイルを作成することで対応できる! ■ WI-6027により実装された機能 ■ factory design patternを補完する
Slide 9
Slide 9 text
.phpstorm.meta.php ¥Exception::class, ¥ExampleFactory::EXAMPLE_B => ExampleB::class, ¥EXAMPLE_B => ¥ExampleB::class, ])); }
Slide 10
Slide 10 text
.phpstorm.meta.php '@Iterator|¥Iterator', ])); }
Slide 11
Slide 11 text
まとめ ■ 「.phpstorm.meta.php」というファイルを書けば補完ができる! ■ 引数の型も補完してくれる! ■ 書くの大変だから自動化できるといいね