getProperty
генерирует исключение, а не ошибку. Значимость заключается в том, что вы можете справиться с этим и сохранить себя if
:
$ref = new ReflectionObject($obj);
$propName = "myProperty";
try {
$prop = $ref->getProperty($propName);
} catch (ReflectionException $ex) {
echo "property $propName does not exist";
//or echo the exception message: echo $ex->getMessage();
}
Чтобы получить все частные свойства, используйте $ref->getProperties(IS_PRIVATE);