return $result;
} /**
* Reads the value of a property from an object.
*
* @throws NoSuchPropertyException If $ignoreInvalidProperty is false and the property does not exist or is not public
*/
private function readProperty(array
$zval, string
$property, bool
$ignoreInvalidProperty = false, bool
$isNullSafe = false
): array
{ if (!\
is_object($zval[self::VALUE
])) { throw new NoSuchPropertyException(sprintf('Cannot read property "%s" from an array. Maybe you intended to write the property path as "[%1$s]" instead.',
$property));
} $result = self::RESULT_PROTO;
$object =
$zval[self::VALUE
];
$class =
$object::
class;
$access =
$this->
getReadInfo($class,
$property);
if (null !==
$access) { $name =
$access->
getName();
$type =
$access->
getType();