использование ReflectionClass для чтения свойств класса

#php

#php

Вопрос:

Я пытаюсь прочитать свойства следующего класса, ReflectionClass теперь проблема tradingMarket в том, что это экземпляр TradingMarket class . и если переменная является объектом, я хочу вызвать функцию для этого объекта, которая также возвращает свойства указанного класса.

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

Комментарии:

1. судя по вашим предыдущим двум вопросам, в вашем сертификате есть геттеры для этих свойств, так зачем вам сейчас для этого нужно отражение?

Ответ №1:

Вы можете использовать рекурсию (не проверено):

 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();
    }
}