ReflectionProperty::setValue
Set property value
&reftitle.description;
public voidReflectionProperty::setValue
objectobject
mixedvalue
public voidReflectionProperty::setValue
mixedvalue
Sets (changes) the property's value.
As of PHP 8.3.0, calling this method with a single argument is deprecated, use ReflectionClass::setStaticPropertyValue instead.
&reftitle.parameters;
object
If the property is non-static an object must be provided to change
the property on.
If the property is static a value of &null; must be to be provided.
value
The new value.
&reftitle.returnvalues;
&return.void;
&reftitle.changelog;
&Version;
&Description;
8.3.0
Calling this method with a single argument is deprecated,
ReflectionClass::setStaticPropertyValue
should be used instead to modify static properties.
8.1.0
Private and protected properties can be accessed by
ReflectionProperty::setValue right away.
Previously, they needed to be made accessible by calling
ReflectionProperty::setAccessible; otherwise
a ReflectionException was thrown.
&reftitle.examples;
ReflectionProperty::setValue example
setStaticPropertyValue('staticProperty', 'foo');
var_dump(Foo::$staticProperty);
$foo = new Foo;
$reflectionClass->getProperty('property')->setValue($foo, 'bar');
var_dump($foo->property);
$reflectionProperty = $reflectionClass->getProperty('privateProperty');
$reflectionProperty->setAccessible(true); // only required prior to PHP 8.1.0
$reflectionProperty->setValue($foo, 'foobar');
var_dump($reflectionProperty->getValue($foo));
?>
]]>
&example.outputs;
&reftitle.seealso;
ReflectionProperty::getValue
ReflectionProperty::setAccessible
ReflectionClass::setStaticPropertyValue