<php>get_object_varsを共通のスーパークラスのメソッドに実装するときの注意
概要 問題 対策 概要 PHP8においてインスタンスの情報を取得するメソッドにget_object_varsがあり、これを使えば引数に渡したインスタンスのもつアクセス可能なプロパティについてArray型で出力してくれる。 これはDTOのようなプロパティ主体で構成されるクラスなんかの共通処理として実装しておけば色々楽になりそうだったので、抽象クラスにget_object_vars($this)を戻り値として返すようなpublicなメソッドを定義した。(オーバライドせずそのまま使用する用途) 問題 継承先のクラスではprivateのプロパティは「アクセス不能」とみなされ取得できない。 誤解いただき…
2022/03/09 19:25