2011-01-02 10 views

答えて

1

見つけました。

Proxyクラスを拡張すると、この問題を解決できます。

1

残念ながら、そのようなことはありません。

あなたがすることができるすべては、例えば、いずれかの

myObject.hasOwnProperty (name) 
単純なオブジェクト上の

またはクラスインスタンスのdescribeType()のいくつかの変種を使用することにより、特定のプロパティの有無を確認している

describeType(myObject).accessor 

へすべてのアクセサーメソッドのXMLListを取得するか、

describeType(myObject).variable 

toすべての変数のXMLListを取得します。

しかし、describeType()はパフォーマンス面でかなり高価ですので、各タイプのリストを格納するための何らかの型のハッシュマップを用意して、すでに記述されている型の参照を行います。

未定義のプロパティがアクセスされる可能性がある部分の周りにtry/catchブロックを使用することもできますが、多くのエラーがスローされると、これによって多くのパフォーマンスが低下します。

+0

これは '__get()'と '__set()'と同じですか? PHPでは、これはメンバ変数の "catch all"として機能するので、メンバ変数がコンシューマがアクセスしようとしたときに定義されていない場合、 '__get()'または '__set()'が呼び出されます。 –

+0

私の悪いです。私はそれをもっと慎重にチェックすべきでした...私はそれに応じて私の答えを編集しました。 – weltraumpirat

関連する問題