ReflectionProperty::getValue

Gets value

&reftitle.description; public `mixed` `ReflectionProperty::getValue` ``object``null```object`&null;

Gets the property's value.

&reftitle.parameters;

`object`

- If the property is non-static an object must be provided to fetch the property from. If you want to fetch the default property without providing an object use `ReflectionClass::getDefaultProperties` instead.

&reftitle.returnvalues;

The current value of the property.

&reftitle.changelog;

&Version; | &Description;
8.1.0 | Private and protected properties can be accessed by `ReflectionProperty::getValue` right away. Previously, they needed to be made accessible by calling `ReflectionProperty::setAccessible`; otherwise a `ReflectionException` was thrown.
8.0.0 | `object` is nullable now.

&reftitle.examples;

### `ReflectionProperty::getValue` example

    <?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); // only required prior to PHP 8.1.0
    var_dump($reflectionProperty->getValue(new Foo));
    ?>

&example.outputs;

    string(6) "foobar"
    string(6) "barfoo"
    string(6) "foofoo"

&reftitle.seealso;

- `ReflectionProperty::setValue`
- `ReflectionProperty::setAccessible`
- `ReflectionClass::getDefaultProperties`
- `ReflectionClass::getStaticPropertyValue`