(PHP 8 >= 8.4.0)
ReflectionProperty::getRawValue — Возвращает значение свойства в обход хука get, если такой определили
Функцию пока не задокументировали; для знакомства доступен только список аргументов.
Метод возвращает значение свойства в обход хука get
, если такой хук определили.
object
Метод возвращает значение свойства, которое хранится в объекте, в обход хука get
, если хук определили.
При попытке получить значение виртуального свойства метод выбросит ошибку Error, поскольку виртуальные свойства не содержат исходного значения.
Пример #1 Пример извлечения исходного значения свойства методом ReflectionProperty::getRawValue()
<?php
class Example
{
public string $tag {
get => strtolower($this->tag);
}
}
$example = new Example();
$example->tag = 'PHP';
$rClass = new \ReflectionClass(Example::class);
$rProp = $rClass->getProperty('tag');
// Такое обращение пройдёт через хук get, поэтому выдаст строку "php"
echo $example->tag, PHP_EOL;
echo $rProp->getValue($example), PHP_EOL;
// Но такое обращение обойдёт хук и выдаст строку "PHP"
echo $rProp->getRawValue($example);
?>
Результат выполнения приведённого примера:
php php PHP