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;
/* Propriedades */
public string $name;
public string $class;
/* Métodos */
public __construct(object|string $class, string $property)
private __clone(): void
public static export(mixed $class, string $name, bool $return = ?): string
public getAttributes(?string $name = null, int $flags = 0): array
public getModifiers(): int
public getName(): string
public getValue(?object $object = null): mixed
public hasType(): bool
public isDefault(): bool
public isInitialized(?object $object = null): bool
public isPrivate(): bool
public isPromoted(): bool
public isProtected(): bool
public isPublic(): bool
public isReadOnly(): bool
public isStatic(): bool
public setAccessible(bool $accessible): void
public setValue(object $object, mixed $value): void
public __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 pré-definidas

Modificadores de ReflectionProperty

ReflectionProperty::IS_STATIC

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

ReflectionProperty::IS_READONLY

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

ReflectionProperty::IS_PUBLIC

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

ReflectionProperty::IS_PROTECTED

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

ReflectionProperty::IS_PRIVATE

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

Note:

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.0.0 ReflectionProperty::export() foi removido.

Table of Contents