ReflectionProperty::setRawValue

(PHP 8 >= 8.4.0)

ReflectionProperty::setRawValueSets the value of a property, bypassing a set hook if defined

Описание

public ReflectionProperty::setRawValue(object $object, mixed $value): void

Sets the value of a property, bypassing a set hook if defined.

Список параметров

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.

Возвращаемые значения

Функция не возвращает значения после выполнения.

Ошибки

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);
?>

Смотрите также

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top