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