Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Reflection を使いこなして、 オブジェクトを型安全に マッピングしよう!

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

Reflection を使いこなして、 オブジェクトを型安全に マッピングしよう!

PHP Conference Japan 2022 LT Slide

Masaru Yamagishi

September 24, 2022

Transcript

15 slides
  1. Reflection とは? - ランタイム等で「コードそのもの」の構造を取得・改変する技術 - 引数の型や名前を取得したり、 private メソッドを無理やり外で呼べる (危険) -

    メタプログラミングとも呼ばれる - ビジネスロジックでは使われることはほぼないが、ライブラリやFWでは重要 - PHP 8 Attribute も Reflection 経由で取得できる - PHP は(大雑把に言うと)コンパイルしないので、 容易に Reflection 情報を取得できる
  2. - PHP では簡単に Reflection を扱える - PHP 8.1~ の型に優しい実装 -

    データのマッピングだけでなく、コード自動生成などにも寄与する - 社内ライブラリとして共有されていることもありそう - ビジネスロジックを楽にする仕組みとして入れると良い - Reflection は いいぞ。 https://gist.github.com/il-m-yamagishi/b845406086fdef32a5f794ff02eba30a Reflection まとめ

More Decks by Masaru Yamagishi

Other Decks in Programming