# The ReflectionClass class

(PHP 5, PHP 7, PHP 8)

## Introduction

La classe ReflectionClass rapporte des informations sur une classe.

## Synopsis de la 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;
/* Propriétés */
public string $name;
/* Méthodes */
public __construct(object|string `$objectOrClass`)
public static export(mixed `$argument`, bool `$return` = `false`): string
public getAttributes(?string `$name` = `null`, int `$flags` = 0): array
public getConstant(string `$name`): mixed
public getConstants(?int `$filter` = `null`): array
public getConstructor(): ?ReflectionMethod
public getDefaultProperties(): array
public getDocComment(): string|false
public getEndLine(): int|false
public getExtension(): ?ReflectionExtension
public ReflectionFunctionAbstract::getExtensionName(): string|false
public getFileName(): string|false
public getInterfaceNames(): array
public getInterfaces(): array
public getLazyInitializer(object `$object`): ?callable
public getMethod(string `$name`): ReflectionMethod
public getMethods(?int `$filter` = `null`): array
public getModifiers(): int
public getName(): string
public getNamespaceName(): string
public getParentClass(): ReflectionClass|false
public getProperties(?int `$filter` = `null`): array
public getProperty(string `$name`): ReflectionProperty
public getReflectionConstant(string `$name`): ReflectionClassConstant|false
public getReflectionConstants(?int `$filter` = `null`): array
public getShortName(): string
public getStartLine(): int|false
public getStaticProperties(): array
public getStaticPropertyValue(string `$name`, mixed `&$def_value` = ?): mixed
public getTraitAliases(): array
public getTraitNames(): array
public getTraits(): array
public hasConstant(string `$name`): bool
public hasMethod(string `$name`): bool
public hasProperty(string `$name`): bool
public implementsInterface(ReflectionClass|string `$interface`): bool
public initializeLazyObject(object `$object`): object
public inNamespace(): bool
public isAbstract(): bool
public isAnonymous(): bool
public isCloneable(): bool
public isEnum(): bool
public isFinal(): bool
public isInstance(object `$object`): bool
public isInstantiable(): bool
public isInterface(): bool
public isInternal(): bool
public isIterable(): bool
public isReadOnly(): bool
public isSubclassOf(ReflectionClass|string `$class`): bool
public isTrait(): bool
public isUninitializedLazyObject(object `$object`): bool
public isUserDefined(): bool
public markLazyObjectAsInitialized(object `$object`): object
public newInstance(mixed `...$args`): object
public newInstanceArgs(array `$args` = []): ?object
public newInstanceWithoutConstructor(): object
public newLazyGhost(callable `$initializer`, int `$options` = 0): object
public newLazyProxy(callable `$factory`, int `$options` = 0): object
public resetAsLazyGhost(object `$object`, callable `$initializer`, int `$options` = 0): void
public resetAsLazyProxy(object `$object`, callable `$factory`, int `$options` = 0): void
public setStaticPropertyValue(string `$name`, mixed `$value`): void
public __toString(): string
}

## Propriétés

name

  Nom de la classe. En lecture seule, lance une ReflectionException lors d'une tentative d'écriture.

`ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE` int
  Indique que serialize() ne doit pas déclencher l'initialisation d'un objet en chargement paresseux.
`ReflectionClass::SKIP_DESTRUCTOR` int
  Indique qu'un destructeur d'objet ne doit pas être appelé lors de sa réinitialisation en tant qu'objet paresseux.

## Constantes pré-définies

## Modificateurs de ReflectionClass

`ReflectionClass::IS_IMPLICIT_ABSTRACT` int

  Indique si la classe est abstraite car elle contient des méthodes abstraites.

`ReflectionClass::IS_EXPLICIT_ABSTRACT` int

  Indique si la classe est abstraite en raison de sa définition.

`ReflectionClass::IS_FINAL` int

  Indique si la classe est finale.

`ReflectionClass::IS_READONLY` int

  Indique si la classe est readonly.

## Historique

Version | Description
--- | ---
8.4.0 | Les constantes de classe sont désormais typées.
8.0.0 | ReflectionClass::export() a été supprimée.

## Sommaire

- ReflectionClass::__construct — Construit une ReflectionClass
- ReflectionClass::export — Exporte une classe
- ReflectionClass::getAttributes — Récupère les attributs d'une classe
- ReflectionClass::getConstant — Récupère une constante
- ReflectionClass::getConstants — Récupère les constantes
- ReflectionClass::getConstructor — Récupère le constructeur d'une classe
- ReflectionClass::getDefaultProperties — Récupère les propriétés par défaut
- ReflectionClass::getDocComment — Récupère les commentaires de documentation
- ReflectionClass::getEndLine — Récupère la fin d'une ligne
- ReflectionClass::getExtension — Récupère un objet ReflectionExtension pour l'extension qui définit la classe
- ReflectionClass::getExtensionName — Récupère le nom de l'extension qui définit la classe
- ReflectionClass::getFileName — Récupère le nom du fichier où la classe a été déclaré
- ReflectionClass::getInterfaceNames — Récupère les noms des interfaces
- ReflectionClass::getInterfaces — Récupère les interfaces
- ReflectionClass::getLazyInitializer — Renvoie l'initialiseur paresseux
- ReflectionClass::getMethod — Récupère un ReflectionMethod pour une méthode de classe
- ReflectionClass::getMethods — Récupère un tableau des méthodes
- ReflectionClass::getModifiers — Récupère les modificateurs de classe
- ReflectionClass::getName — Récupère le nom de la classe
- ReflectionClass::getNamespaceName — Récupère l'espace de noms
- ReflectionClass::getParentClass — Récupère la classe parente
- ReflectionClass::getProperties — Récupère les propriétés
- ReflectionClass::getProperty — Récupère une ReflectionProperty pour une propriété d'une classe
- ReflectionClass::getReflectionConstant — Récupère un ReflectionClassConstant pour une constante d'une classe
- ReflectionClass::getReflectionConstants — Récupère les constantes de classe
- ReflectionClass::getShortName — Récupère le nom court d'une classe
- ReflectionClass::getStartLine — Récupère le numéro de ligne de départ
- ReflectionClass::getStaticProperties — Récupère les propriétés statiques
- ReflectionClass::getStaticPropertyValue — Récupère la valeur d'une propriété statique
- ReflectionClass::getTraitAliases — Retourne un tableau des alias du trait
- ReflectionClass::getTraitNames — Retourne un tableau de noms des traits utilisés par cette classe
- ReflectionClass::getTraits — Retourne un tableau des traits utilisés par cette classe
- ReflectionClass::hasConstant — Vérifie si une constante est définie
- ReflectionClass::hasMethod — Vérifie si une méthode est définie
- ReflectionClass::hasProperty — Vérifie si une propriété est définie
- ReflectionClass::implementsInterface — Vérifie si une classe implémente une interface
- ReflectionClass::initializeLazyObject — Force l'initialisation d'un objet paresseux
- ReflectionClass::inNamespace — Vérifie si une classe est définie dans un espace de noms
- ReflectionClass::isAbstract — Vérifie si une classe est abstraite
- ReflectionClass::isAnonymous — Vérifie si la classe est anonyme
- ReflectionClass::isCloneable — Renseigne à propos de la propriété de duplication de la classe
- ReflectionClass::isEnum — Vérifie si une classe est une énumération
- ReflectionClass::isFinal — Vérifie si une classe est finale
- ReflectionClass::isInstance — Vérifie si une classe est une instance d'une autre classe
- ReflectionClass::isInstantiable — Vérifie si une classe est instanciable
- ReflectionClass::isInterface — Vérifie si une classe est une interface
- ReflectionClass::isInternal — Vérifie si une classe est définie comme interne par une extension
- ReflectionClass::isIterable — Vérifie si cette classe est itérable
- ReflectionClass::isIterateable — Alias de ReflectionClass::isIterable
- ReflectionClass::isReadOnly — Vérifie si une classe est en lecture seule
- ReflectionClass::isSubclassOf — Vérifie si la classe est une sous-classe
- ReflectionClass::isTrait — Renseigne s'il s'agit d'un trait
- ReflectionClass::isUninitializedLazyObject — Vérifie si un objet est paresseux et non initialisé
- ReflectionClass::isUserDefined — Vérifie si une classe a été définie dans l'espace utilisateur
- ReflectionClass::markLazyObjectAsInitialized — Marque un objet paresseux comme initialisé sans appeler l'initialiseur ou la fabrique
- ReflectionClass::newInstance — Créer une nouvelle instance de la classe en utilisant les arguments fournis
- ReflectionClass::newInstanceArgs — Créer une nouvelle instance en utilisant les arguments fournis
- ReflectionClass::newInstanceWithoutConstructor — Crée une nouvelle instance de la classe sans invoquer le constructeur
- ReflectionClass::newLazyGhost — Créer une nouvelle instance fantôme paresseuse
- ReflectionClass::newLazyProxy — Créer une nouvelle instance proxy paresseuse
- ReflectionClass::resetAsLazyGhost — Réinitialise un objet et le marque comme paresseux
- ReflectionClass::resetAsLazyProxy — Réinitialise un objet et le marque comme paresseux
- ReflectionClass::setStaticPropertyValue — Définit la valeur d'une propriété statique publique
- ReflectionClass::__toString — Crée une représentation textuelle de l'objet