(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
Функция не возвращает значения после выполнения.
If the property is virtual, an Error will be thrown, as there is no raw value to set.
Пример #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);
?>