# La clase ReflectionClass

(PHP 5, PHP 7, PHP 8)

## Introducción

La clase ReflectionClass proporciona información sobre una clase.

## Sinopsis de la Clase

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;
/* Propiedades */
public string $name;
/* Métodos */
public function __construct(object|string `$objectOrClass`)
public static function export(mixed `$argumento`, 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
}

## Propiedades

name

  Nombre de la clase. Solo lectura, lanza una ReflectionException al intentar escribir.

`ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE` int
  Indica que serialize() no debe desencadenar la inicialización de un objeto en carga perezosa.
`ReflectionClass::SKIP_DESTRUCTOR` int
  Indica que un destructor de objeto no debe ser llamado al reinicializarlo como objeto perezoso.

## Constantes predefinidas

## Modificadores de ReflectionClass

`ReflectionClass::IS_IMPLICIT_ABSTRACT` int

  Indica si la clase es abstracta porque contiene métodos abstractos.

`ReflectionClass::IS_EXPLICIT_ABSTRACT` int

  Indica si la clase es abstracta debido a su definición.

`ReflectionClass::IS_FINAL` int

  Indica si la clase es final.

`ReflectionClass::IS_READONLY` int

  Indica si la clase es readonly.

## Historial de cambios

Versión | Descripción
--- | ---
8.4.0 | Las constantes de clase ahora están tipadas.
8.0.0 | ReflectionClass::export() ha sido eliminada.

## Tabla de contenidos

- ReflectionClass::__construct — Construye una ReflectionClass
- ReflectionClass::export — Exporta una clase
- ReflectionClass::getAttributes — Recupera los atributos de una clase
- ReflectionClass::getConstant — Obtiene una constante
- ReflectionClass::getConstants — Obtener constantes
- ReflectionClass::getConstructor — Obtiene el constructor de una clase
- ReflectionClass::getDefaultProperties — Obtiene las propiedades por defecto
- ReflectionClass::getDocComment — Recupera los comentarios de documentación
- ReflectionClass::getEndLine — Obtiene el final de una línea
- ReflectionClass::getExtension — Obtiene un objeto ReflectionExtension para la extensión que define la clase
- ReflectionClass::getExtensionName — Obtiene el nombre de la extensión que define la clase
- ReflectionClass::getFileName — Obtiene el nombre del fichero donde la clase ha sido declarada
- ReflectionClass::getInterfaceNames — Obtiene los nombres de las interfaces
- ReflectionClass::getInterfaces — Obtiene las interfaces
- ReflectionClass::getLazyInitializer — Devuelve el inicializador perezoso
- ReflectionClass::getMethod — Obtiene un ReflectionMethod para un método de clase
- ReflectionClass::getMethods — Obtiene un array de métodos
- ReflectionClass::getModifiers — Obtiene los modificadores de clase
- ReflectionClass::getName — Obtiene el nombre de la clase
- ReflectionClass::getNamespaceName — Obtiene el espacio de nombres
- ReflectionClass::getParentClass — Obtiene la clase padre
- ReflectionClass::getProperties — Obtiene las propiedades
- ReflectionClass::getProperty — Obtiene un objeto ReflectionProperty para una propiedad de una clase
- ReflectionClass::getReflectionConstant — Obtiene un ReflectionClassConstant para una constante de una clase
- ReflectionClass::getReflectionConstants — Recupera las constantes de clase
- ReflectionClass::getShortName — Obtiene el nombre corto de una clase
- ReflectionClass::getStartLine — Obtiene el número de línea de inicio
- ReflectionClass::getStaticProperties — Obtiene las propiedades estáticas
- ReflectionClass::getStaticPropertyValue — Obtiene el valor de una propiedad estática
- ReflectionClass::getTraitAliases — Devuelve un array de alias del trait
- ReflectionClass::getTraitNames — Devuelve un array de nombres de traits utilizados por esta clase
- ReflectionClass::getTraits — Devuelve un array de los traits utilizados por esta clase
- ReflectionClass::hasConstant — Verifica si una constante está definida
- ReflectionClass::hasMethod — Verifica si un método está definido
- ReflectionClass::hasProperty — Verifica si una propiedad está definida
- ReflectionClass::implementsInterface — Verifica si una clase implementa una interfaz
- ReflectionClass::initializeLazyObject — Forzar la inicialización de un objeto perezoso
- ReflectionClass::inNamespace — Verifica si una clase está definida en un espacio de nombres
- ReflectionClass::isAbstract — Verifica si una clase es abstracta
- ReflectionClass::isAnonymous — Verifica si la clase es anónima
- ReflectionClass::isCloneable — Proporciona información sobre la propiedad de duplicación de la clase
- ReflectionClass::isEnum — Verifica si una clase es una enumeración
- ReflectionClass::isFinal — Verifica si una clase es final
- ReflectionClass::isInstance — Verifica si una clase es una instancia de otra clase
- ReflectionClass::isInstantiable — Verifica si una clase es instanciable
- ReflectionClass::isInterface — Verifica si una clase es una interfaz
- ReflectionClass::isInternal — Verifica si una clase está definida como interna por una extensión
- ReflectionClass::isIterable — Verifica si esta clase es iterable
- ReflectionClass::isIterateable — Alias de ReflectionClass::isIterable
- ReflectionClass::isReadOnly — Verifica si una clase es de solo lectura
- ReflectionClass::isSubclassOf — Verifica si la clase es una subclase
- ReflectionClass::isTrait — Indica si se trata de un trait
- ReflectionClass::isUninitializedLazyObject — Verifica si un objeto es perezoso y no inicializado
- ReflectionClass::isUserDefined — Verifica si una clase ha sido definida en el espacio de usuario
- ReflectionClass::markLazyObjectAsInitialized — Marca un objeto perezoso como inicializado sin llamar al inicializador o a la fábrica
- ReflectionClass::newInstance — Crear una nueva instancia de la clase utilizando los argumentos proporcionados
- ReflectionClass::newInstanceArgs — Crear una nueva instancia utilizando los argumentos proporcionados
- ReflectionClass::newInstanceWithoutConstructor — Crea una nueva instancia de la clase sin invocar el constructor
- ReflectionClass::newLazyGhost — Crear una nueva instancia fantasma perezosa
- ReflectionClass::newLazyProxy — Crear una nueva instancia proxy perezosa
- ReflectionClass::resetAsLazyGhost — Reinicia un objeto y lo marca como perezoso
- ReflectionClass::resetAsLazyProxy — Reinicia un objeto y lo marca como perezoso
- ReflectionClass::setStaticPropertyValue — Define el valor de una propiedad estática pública
- ReflectionClass::__toString — Crea una representación textual del objeto

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