ReflectionProperty::getValue

(PHP 5, PHP 7, PHP 8)

ReflectionProperty::getValueПолучает значение

Описание

publicReflectionProperty::getValue(?object$object = null): mixed

Получает значение свойства.

Список параметров

object

Если свойство не статическое, необходимо передать объект, из которого требуется это свойство получить. Если вам нужно получить свойство по умолчанию, не предоставляя объект, используйте функцию ReflectionClass::getDefaultProperties().

Возвращаемые значения

Текущее значение свойства.

Список изменений

ВерсияОписание
8.1.0 Доступ к закрытым и защищённым свойствам можно сразу же получить с помощью метода ReflectionProperty::getValue(). Ранее их нужно было сделать доступными с помощью метода ReflectionProperty::setAccessible(); в противном случае выбрасывалось исключение ReflectionException.
8.0.0object теперь допускает значение 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"

Смотрите также

To Top