(PHP 8 >= 8.4.0)
ReflectionProperty::setRawValue — Sets the value of a property, bypassing a set hook if defined
Sets the value of a property, bypassing a set
hook if defined.
object
value
Es wird kein Wert zurückgegeben.
If the property is virtual, an Error will be thrown, as there is no raw value to set.
Beispiel #1 ReflectionProperty::setRawValue() example
<?php
class Example
{
public int $age {
set {
if ($value <= 0) {
throw new \InvalidArgumentException();
}
$this->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.
$example->age = -2;
$rProp->setValue($example, -2);
// But this would set the $age to -2 without error.
$rProp->setRawValue($example, -2);
?>