(PHP 8 >= 8.4.0)
ReflectionProperty::isVirtual — Determina si la propiedad es virtual
Esta función no tiene parámetros.
Ejemplo #1 ReflectionProperty::isVirtual() ejemplo
<?php
class Example
{
// Ninguno de los hooks hace referencia a la propiedad,
// por lo que es virtual.
public string $name { get => "Nombre aquí"; }
// Este hook hace referencia a la propiedad por su nombre,
// por lo que no es virtual.
public int $age {
set {
if ($value <= 0) {
throw new \InvalidArgumentException();
}
$this->age = $value;
}
}
// Las propiedades no hookeadas siempre son no virtuales.
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());
?>
El resultado del ejemplo sería:
bool(true) bool(false) bool(false)