0

If I use magic methods. While using reflection API, I can't investigate class properties.. Why is it so?

EDIT

What is Reflection API? pls do not refer me php.net i didnt understood that.. guide me in your words plsss

4

2 に答える 2

2

マジックメソッドを使用してプロパティにアクセスすると、これらのプロパティは通常、クラスの定義には存在しません。

クラスの定義は通常、次のようになります。

class MyClass {
    private $data;
    public function __get($name) {
        return $this->data[$name];
    }
    public function __set($name, $value) {
        $this->data[$name] = $value;
    }
}


実際のプロパティ は存在しない$dataため(マジックメソッドによってビッグデータストアとして使用される配列のみに存在します) __get__setそれらはReflectionAPIでは表示できません。

これは、魔法のメソッドを使用することによって引き起こされる問題の1つです。これらは、そこにないプロパティ(またはメソッド__callにアクセスするために使用されます。ReflectionAPIは、そこにあるものしか見ることができません。

于 2010-04-23T11:45:49.987 に答える