読者です 読者をやめる 読者になる 読者になる

5.2でprivateとかprotectedなプロパティを取得する方法

5.3ならReflectionProperty::setAccessible()でいけるけど、5.2では定義されてない。

PHP Manualの下のコメントに解決方法がかいてあったので、参考にしてやってみた。
http://jp2.php.net/manual/ja/reflectionproperty.setaccessible.php#98383

対象のクラスを継承した、非公開プロパティへのアクセサを持った子クラスを生成する方法。
でもこれだと子クラスのインスタンスを毎回生成するので、対象の内部状態が変わってた場合うまく取れないと思う。

どうしようかと思ってたら、その上のコメントで「arrayにキャストしたらいいよ」みたいなこと書いてあった。
http://jp2.php.net/manual/ja/reflectionproperty.setaccessible.php#100441

こちらの記事を参考にやってみた。
http://d.hatena.ne.jp/shimooka/20090608/1244428241

いいんじゃないかと。