ReflectionProperty::setRawValueSets the value of a property, bypassing a set hook if defined
&reftitle.description;
publicvoidReflectionProperty::setRawValueobjectobjectmixedvalue
Sets the value of a property, bypassing a set hook if defined.
&reftitle.parameters;
object
The object on which to set the property value.
value
The value to write. It must still be valid according to the property's type.
&reftitle.returnvalues;
&return.void;
&reftitle.errors;
If the property is virtual, an Error will be thrown,
as there is no raw value to set.
&reftitle.examples;
ReflectionProperty::setRawValue example
age = $value;
}
}
}
$example = new Example();
$rClass = new \ReflectionClass(Example::class);
$rProp = $rClass->getProperty('age');
// These would go through the set hook, and throw an exception.
try {
$example->age = -2;
} catch (InvalidArgumentException) {
echo "InvalidArgumentException for setting property to -2\n";
}
try {
$rProp->setValue($example, -2);
} catch (InvalidArgumentException) {
echo "InvalidArgumentException for using ReflectionProperty::setValue() with -2\n";
}
// But this would set the $age to -2 without error.
$rProp->setRawValue($example, -2);
echo $example->age;
?>
]]>
&example.outputs;
&reftitle.seealso;
Asymmetric property visibility