2011-11-03 16 views
0

以下のクラスのプロパティをReflectionClass に読み込もうとしています。tradingMarketTradingMarketクラスのインスタンスです。 変数がObjectの場合は、そのオブジェクトの関数を呼び出して、そのクラスのプロパティも返すようにします。クラスを読み取るためにReflectionClassを使用します。

class Certificate { 
     private $isin; 
     private $tradingMarket; 
     private $currency; 
     private $issuer; 
     private $issuingPrice; 
     private $currentPrice; 
     private $priceHistory; 
     private $documents; 
     private $serializer; 
} 
+0

判断をあなたの証明書は、これらのプロパティのゲッターを持っているので、なぜあなたは今それのためにリフレクションが必要でしょうか? – Gordon

答えて

0

あなたは再帰(テストされていません)を使用することができます:あなたの前の二つの質問で

function getProperties($object) { 
    $ref = new ReflectionClass(get_class($object)); 
    foreach ($reg->getProperties(ReflectionProperty::IS_PUBLIC | ReflectionProperty::IS_PROTECTED | ReflectionProperty::IS_PRIVATE) as $prop) { 
     if (is_object($prop->getValue($object)) getProperties($prop->getValue($object)); 
     else echo get_class($object)." => ".$prop->getName(); 
    } 
} 
関連する問題