ReflectionProperty::setValue
Set property value
&reftitle.description;
public voidReflectionProperty::setValue
objectnullobject
mixedvalue
public voidReflectionProperty::setValue
mixedvalue
Sets (changes) the property's value.
To set static property values, use ReflectionProperty::setValue(null, $value).
&reftitle.parameters;
object
For static properties, pass in &null;.
For non-static properties, pass in the object.
value
The new value.
&reftitle.returnvalues;
&return.void;
&reftitle.changelog;
&Version;
&Description;
8.3.0
Calling this method with a single argument is deprecated,
instead use ReflectionProperty::setValue(null, $value)
for 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
getProperty('staticProperty');
$reflectionProperty->setValue(null, '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