A classe ReflectionProperty

(PHP 5, PHP 7, PHP 8)

Introdução

A classe ReflectionProperty relata informações sobre as propriedades de uma classe.

Resumo da classe

class ReflectionProperty implements Reflector {
/* Constantes */
public const int IS_STATIC;
public const int IS_READONLY;
public const int IS_PUBLIC;
public const int IS_PROTECTED;
public const int IS_PRIVATE;
public const int IS_ABSTRACT;
public const int IS_PROTECTED_SET;
public const int IS_PRIVATE_SET;
public const int IS_VIRTUAL;
public const int IS_FINAL;
/* Propriedades */
public string $name;
public string $class;
/* Métodos */
public function __construct(object|string $class, string $property)
private function __clone(): void
public static function export(mixed $class, string $name, bool $return = ?): string
public function getAttributes(?string $name = null, int $flags = 0): array
public function getDefaultValue(): mixed
public function getDocComment(): string|false
public function getHooks(): array
public function getModifiers(): int
public function getName(): string
public function getRawValue(object $object): mixed
public function getSettableType(): ?ReflectionType
public function getType(): ?ReflectionType
public function getValue(?object $object = null): mixed
public function hasDefaultValue(): bool
public function hasHook(PropertyHookType $type): bool
public function hasHooks(): bool
public function hasType(): bool
public function isAbstract(): bool
public function isDefault(): bool
public function isDynamic(): bool
public function isFinal(): bool
public function isInitialized(?object $object = null): bool
public function isLazy(object $object): bool
public function isPrivate(): bool
public function isPrivateSet(): bool
public function isPromoted(): bool
public function isProtected(): bool
public function isProtectedSet(): bool
public function isPublic(): bool
public function isReadOnly(): bool
public function isStatic(): bool
public function isVirtual(): bool
#[\Deprecated]
public function setAccessible(bool $accessible): void
public function setRawValue(object $object, mixed $value): void
public function setRawValueWithoutLazyInitialization(object $object, mixed $value): void
public function setValue(?object $object, mixed $value): void
public function skipLazyInitialization(object $object): void
public function __toString(): string
}

Propriedades

name

Nome da propriedade. Somente leitura, lança ReflectionException ao tentar escrever.

class

Nome da classe onde a propriedade está definida. Somente leitura, lança ReflectionException ao tentar escrever.

Constantes predefinidas

Modificadores de ReflectionProperty

ReflectionProperty::IS_STATIC int

Indica propriedades estáticas. Antes do PHP 7.4.0, o valor era 1.

ReflectionProperty::IS_READONLY int

Indica propriedades somente leitura. Disponível a partir do PHP 8.1.0.

ReflectionProperty::IS_PUBLIC int

Indica propriedades públicas. Antes do PHP 7.4.0, o valor era 256.

ReflectionProperty::IS_PROTECTED int

Indica propriedades protegidas. Antes do PHP 7.4.0, o valor era 512.

ReflectionProperty::IS_PRIVATE int

Indica propriedades privadas. Antes do PHP 7.4.0, o valor era 1024.

ReflectionProperty::IS_ABSTRACT int
Indica que a propriedade é abstrata. Disponível a partir do PHP 8.4.0.
ReflectionProperty::IS_PROTECTED_SET int
Disponível a partir do PHP 8.4.0.
ReflectionProperty::IS_PRIVATE_SET int
Disponível a partir do PHP 8.4.0.
ReflectionProperty::IS_VIRTUAL int
Disponível a partir do PHP 8.4.0.
ReflectionProperty::IS_FINAL int
Indica que a propriedade é final. Disponível a partir do PHP 8.4.0.

Nota:

Os valores dessas constantes podem mudar entre as versões do PHP. É recomendável sempre usar as constantes e não depender dos valores diretamente.

Registro de Alterações

Versão Descrição
8.4.0 As constantes de classe agora são tipadas.
8.4.0 Adicionadas ReflectionProperty::IS_VIRTUAL, ReflectionProperty::IS_PRIVATE_SET, ReflectionProperty::IS_PROTECTED_SET, ReflectionProperty::IS_ABSTRACT, e ReflectionProperty::IS_FINAL.
8.0.0 ReflectionProperty::export() foi removido.

Índice