# Classe ReflectionClass

(PHP 5, PHP 7, PHP 8)

## Introdução

Classe ReflectionClassreporta informações sobre uma classe.

## Resumo da classe

class ReflectionClass implements Reflector {
/* Constantes */
public const int IS_IMPLICIT_ABSTRACT;
public const int IS_EXPLICIT_ABSTRACT;
public const int IS_FINAL;
public const int IS_READONLY;
public const int SKIP_INITIALIZATION_ON_SERIALIZE;
public const int SKIP_DESTRUCTOR;
/* Propriedades */
public string $name;
/* Métodos */
public function __construct(object|string `$objectOrClass`)
public static function export(mixed `$argument`, bool `$return` = `false`): string
public function getAttributes(?string `$name` = `null`, int `$flags` = 0): array
public function getConstant(string `$name`): mixed
public function getConstants(?int `$filter` = `null`): array
public function getConstructor(): ?ReflectionMethod
public function getDefaultProperties(): array
public function getDocComment(): string|false
public function getEndLine(): int|false
public function getExtension(): ?ReflectionExtension
public function getExtensionName(): string|false
public function getFileName(): string|false
public function getInterfaceNames(): array
public function getInterfaces(): array
public function getLazyInitializer(object `$object`): ?callable
public function getMethod(string `$name`): ReflectionMethod
public function getMethods(?int `$filter` = `null`): array
public function getModifiers(): int
public function getName(): string
public function getNamespaceName(): string
public function getParentClass(): ReflectionClass|false
public function getProperties(?int `$filter` = `null`): array
public function getProperty(string `$name`): ReflectionProperty
public function getReflectionConstant(string `$name`): ReflectionClassConstant|false
public function getReflectionConstants(?int `$filter` = `null`): array
public function getShortName(): string
public function getStartLine(): int|false
public function getStaticProperties(): array
public function getStaticPropertyValue(string `$name`, mixed `&$default` = ?): mixed
public function getTraitAliases(): array
public function getTraitNames(): array
public function getTraits(): array
public function hasConstant(string `$name`): bool
public function hasMethod(string `$name`): bool
public function hasProperty(string `$name`): bool
public function implementsInterface(ReflectionClass|string `$interface`): bool
public function initializeLazyObject(object `$object`): object
public function inNamespace(): bool
public function isAbstract(): bool
public function isAnonymous(): bool
public function isCloneable(): bool
public function isEnum(): bool
public function isFinal(): bool
public function isInstance(object `$object`): bool
public function isInstantiable(): bool
public function isInterface(): bool
public function isInternal(): bool
public function isIterable(): bool
public function isReadOnly(): bool
public function isSubclassOf(ReflectionClass|string `$class`): bool
public function isTrait(): bool
public function isUninitializedLazyObject(object `$object`): bool
public function isUserDefined(): bool
public function markLazyObjectAsInitialized(object `$object`): object
public function newInstance(mixed `...$args`): object
public function newInstanceArgs(array `$args` = []): ?object
public function newInstanceWithoutConstructor(): object
public function newLazyGhost(callable `$initializer`, int `$options` = 0): object
public function newLazyProxy(callable `$factory`, int `$options` = 0): object
public function resetAsLazyGhost(object `$object`, callable `$initializer`, int `$options` = 0): void
public function resetAsLazyProxy(object `$object`, callable `$factory`, int `$options` = 0): void
public function setStaticPropertyValue(string `$name`, mixed `$value`): void
public function __toString(): string
}

## Propriedades

name

  Nome da classe. Apenas leitura, gera ReflectionException na tentativa de escrita.

## Constantes predefinidas

## Modificadores ReflectionClass

`ReflectionClass::IS_IMPLICIT_ABSTRACT` int

  Indica que a classe é abstrata pois possui alguns métodos abstratos.

`ReflectionClass::IS_EXPLICIT_ABSTRACT` int

  Indica que a classe é abstrata por causa da sua definição.

`ReflectionClass::IS_FINAL` int

  Indica que a classe é final.

`ReflectionClass::IS_READONLY` int

  Indica que a classe é readonly.

`ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE` int
  Indica que serialize() não deve disparar a inicialização de um objeto lento.
`ReflectionClass::SKIP_DESTRUCTOR` int
  Indica que um destrutor de objeto não deve ser chamado ao redefini-lo como lento.

## Registro de Alterações

Versão | Descrição
--- | ---
8.4.0 | As constantes de classe agora são tipadas.
8.0.0 | ReflectionClass::export() foi removida.

## Índice

- ReflectionClass::__construct — Constrói uma ReflectionClass
- ReflectionClass::export — Exporta uma classe
- ReflectionClass::getAttributes — Obtém atributos
- ReflectionClass::getConstant — Obtém uma constante definida
- ReflectionClass::getConstants — Obtém constantes
- ReflectionClass::getConstructor — Obtém o construtor da classe
- ReflectionClass::getDefaultProperties — Obtém propriedades padrão
- ReflectionClass::getDocComment — Obtém comentários doc
- ReflectionClass::getEndLine — Obtém a linha final
- ReflectionClass::getExtension — Obtém um objeto ReflectionExtension para a extensão que definiu a classe
- ReflectionClass::getExtensionName — Obtém o nome da extensão que definiu a classe
- ReflectionClass::getFileName — Obtém o nome do arquivo no qual a classe foi definida
- ReflectionClass::getInterfaceNames — Obtém os nomes das interfaces
- ReflectionClass::getInterfaces — Obtém as interfaces
- ReflectionClass::getLazyInitializer — Obtém o inicializador lento
- ReflectionClass::getMethod — Obtém um ReflectionMethod para um método de classe
- ReflectionClass::getMethods — Obtém um array de métodos
- ReflectionClass::getModifiers — Obtém os modificadores de classe
- ReflectionClass::getName — Obtém o nome da classe
- ReflectionClass::getNamespaceName — Obtém o nome do namespace
- ReflectionClass::getParentClass — Obtém a classe pai
- ReflectionClass::getProperties — Obtém propriedades
- ReflectionClass::getProperty — Obtém um ReflectionProperty para a propriedade de uma classe
- ReflectionClass::getReflectionConstant — Obtém um ReflectionClassConstant para a constante de uma classe
- ReflectionClass::getReflectionConstants — Obtém constantes de classe
- ReflectionClass::getShortName — Obtém o nome curto
- ReflectionClass::getStartLine — Obtém o número da linha inicial
- ReflectionClass::getStaticProperties — Obtém propriedades estáticas
- ReflectionClass::getStaticPropertyValue — Obtém o valor da propriedade estática
- ReflectionClass::getTraitAliases — RRetorna um array de aliases de trait
- ReflectionClass::getTraitNames — Retorna um array de nomes de traits usadas por esta classe
- ReflectionClass::getTraits — Retorna um array de traits usadas por esta classe
- ReflectionClass::hasConstant — Verifica se a constante está definida
- ReflectionClass::hasMethod — Verifica se o método está definido
- ReflectionClass::hasProperty — Verifica se a propriedade está definida
- ReflectionClass::implementsInterface — Implementa interface
- ReflectionClass::initializeLazyObject — Força a inicialização de um objeto lento
- ReflectionClass::inNamespace — Verifica se está no namespace
- ReflectionClass::isAbstract — Verifica se a classe é abstrata
- ReflectionClass::isAnonymous — Verifica se uma classe é anônima
- ReflectionClass::isCloneable — Retorna se esta classe é clonável
- ReflectionClass::isEnum — Retorna se esta é um enum
- ReflectionClass::isFinal — Verifica se a classe é final
- ReflectionClass::isInstance — Verifica a classe por instância
- ReflectionClass::isInstantiable — Verifica se a classe é instanciável
- ReflectionClass::isInterface — Verifica se a classe é uma interface
- ReflectionClass::isInternal — Verifica se a classe está definida internamente por uma extensão ou pelo núcleo
- ReflectionClass::isIterable — Verifica se esta classe é iterável
- ReflectionClass::isIterateable — Sinônimo de ReflectionClass::isIterable
- ReflectionClass::isReadOnly — Verifica se a classe é somente leitura
- ReflectionClass::isSubclassOf — Verifica se é uma subclasse
- ReflectionClass::isTrait — Retorna se esta é uma trait
- ReflectionClass::isUninitializedLazyObject — Verifica se um objeto é lento e não inicializado
- ReflectionClass::isUserDefined — Verifica se foi definida pelo usuário
- ReflectionClass::markLazyObjectAsInitialized — Marca um objeto lento como inicializado sem chamar o inicializador ou a fábrica
- ReflectionClass::newInstance — Cria uma nova instância de classe a partir de determinados argumentos
- ReflectionClass::newInstanceArgs — Cria uma nova instância de classe a partir de determinados argumentos
- ReflectionClass::newInstanceWithoutConstructor — Cria uma nova instância de classe sem invocar o construtor
- ReflectionClass::newLazyGhost — Cria uma nova instância de fantasma lento
- ReflectionClass::newLazyProxy — Cria uma nova instância de proxy lento
- ReflectionClass::resetAsLazyGhost — Redefine um objeto e o marca como lento
- ReflectionClass::resetAsLazyProxy — Redefine um objeto e o marca como lento
- ReflectionClass::setStaticPropertyValue — Define o valor da propriedade estática pública
- ReflectionClass::__toString — Retorna a representação em string do objeto ReflectionClass

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open