ReflectionProperty::isVirtual

(PHP 8 >= 8.4.0)

ReflectionProperty::isVirtualОпределяет, виртуально ли свойство

Описание

public function ReflectionProperty::isVirtual(): bool

Метод определяет, виртуально ли свойство.

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

Сигнатура функции не содержит параметров.

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

Метод возвращает значение true, если свойство виртуально, иначе возвращает значение false.

Примеры

Пример #1 Пример определения виртуальности свойства методом ReflectionProperty::isVirtual()

<?php

class Example
{
    // Ни один из хуков не ссылается на свойство,
    // поэтому свойство виртуально
    public string $name {
        get => "Имя";
    }

    // Этот хук ссылается на свойство по имени,
    // поэтому свойство невиртуально
    public int $age {
        set {
            if ($value <= 0) {
               throw new \InvalidArgumentException();
            }

            $this->age = $value;
        }
    }

    // Свойства без хуков невозможно сделать виртуальными
    public string $job;
}

$rClass = new \ReflectionClass(Example::class);

var_dump($rClass->getProperty('name')->isVirtual());
var_dump($rClass->getProperty('age')->isVirtual());
var_dump($rClass->getProperty('job')->isVirtual());

?>

Результат выполнения приведённого примера:

bool(true)
bool(false)
bool(false)

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