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

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

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

PHP Conference Japan 2022 LT Slide

Masaru Yamagishi

September 24, 2022
Tweet

More Decks by Masaru Yamagishi

Other Decks in Programming

Transcript

  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 まとめ