(PHP 5, PHP 7, PHP 8)
ReflectionProperty::getValue — Получает значение
Получает значение свойства.
object
Если свойство не статическое, необходимо передать объект, из которого требуется это свойство получить. Если вам нужно получить свойство по умолчанию, не предоставляя объект, используйте функцию ReflectionClass::getDefaultProperties().
Текущее значение свойства.
Версия | Описание |
---|---|
8.1.0 | Доступ к закрытым и защищённым свойствам можно сразу же получить с помощью метода ReflectionProperty::getValue(). Ранее их нужно было сделать доступными с помощью метода ReflectionProperty::setAccessible(); в противном случае выбрасывалось исключение ReflectionException. |
8.0.0 | object теперь допускает значение null. |
Пример #1 Пример использования ReflectionProperty::getValue()
<?php
class Foo {
public static $staticProperty = 'foobar';
public $property = 'barfoo';
protected $privateProperty = 'foofoo';
}
$reflectionClass = new ReflectionClass('Foo');
var_dump($reflectionClass->getProperty('staticProperty')->getValue());
var_dump($reflectionClass->getProperty('property')->getValue(new Foo));
$reflectionProperty = $reflectionClass->getProperty('privateProperty');
$reflectionProperty->setAccessible(true); // требуется только до PHP 8.1.0
var_dump($reflectionProperty->getValue(new Foo));
?>
Результат выполнения приведённого примера:
string(6) "foobar" string(6) "barfoo" string(6) "foofoo"