# La classe ReflectionClass

(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 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
}

## Propriétés

name

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

## 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.

`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.

## 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ée
- 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

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