# La classe ReflectionProperty

(PHP 5, PHP 7, PHP 8)

## Introduction

La classe ReflectionProperty rapporte des informations sur les propriétés des classes.

## Synopsis de la 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;
public const int IS_ABSTRACT;
public const int IS_PROTECTED_SET;
public const int IS_PRIVATE_SET;
public const int IS_VIRTUAL;
public const int IS_FINAL;
/* Propriétés */
public string $name;
public string $class;
/* Méthodes */
public function __construct(object|string `$class`, string `$property`)
private function __clone(): void
public static function export(mixed `$class`, string `$name`, bool `$return` = ?): string
public function getAttributes(?string `$name` = `null`, int `$flags` = 0): array
public function getDeclaringClass(): ReflectionClass
public function getDefaultValue(): mixed
public function getDocComment(): string|false
public function getHook(PropertyHookType `$type`): ?ReflectionMethod
public function getHooks(): array
public function getModifiers(): int
public function getName(): string
public function getRawValue(object `$object`): mixed
public function getSettableType(): ?ReflectionType
public function getType(): ?ReflectionType
public function getValue(?object `$object` = `null`): mixed
public function hasDefaultValue(): bool
public function hasHook(PropertyHookType `$type`): bool
public function hasHooks(): bool
public function hasType(): bool
public function isAbstract(): bool
public function isDefault(): bool
public function isDynamic(): bool
public function isFinal(): bool
public function isInitialized(?object `$object` = `null`): bool
public function isLazy(object `$object`): bool
public function isPrivate(): bool
public function isPrivateSet(): bool
public function isPromoted(): bool
public function isProtected(): bool
public function isProtectedSet(): bool
public function isPublic(): bool
public function isReadOnly(): bool
public function isStatic(): bool
public function isVirtual(): bool
#[\Deprecated]
public function setAccessible(bool `$accessible`): void
public function setRawValue(object `$object`, mixed `$value`): void
public function setRawValueWithoutLazyInitialization(object `$object`, mixed `$value`): void
public function setValue(?object `$object`, mixed `$value`): void
public function skipLazyInitialization(object `$object`): void
public function __toString(): string
}

## Propriétés

name

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

class

  Nom de la classe où la propriété a été définie. En lecture seule, lance une ReflectionException lors d'une tentative d'écriture.

## Constantes pré-définies

## Modificateurs de ReflectionProperty

`ReflectionProperty::IS_STATIC` int

  Indique que la propriété est static. Antérieur à PHP 7.4.0, la valeur était `1`.

`ReflectionProperty::IS_READONLY` int

  Indique que la propriété est readonly. Disponible à partir de PHP 8.1.0.

`ReflectionProperty::IS_PUBLIC` int

  Indique que la propriété est publique. Antérieur à PHP 7.4.0, la valeur était `256`.

`ReflectionProperty::IS_PROTECTED` int

  Indique que la propriété est protégée. Antérieur à PHP 7.4.0, la valeur était `512`.

`ReflectionProperty::IS_PRIVATE` int

  Indique que la propriété est privée. Antérieur à PHP 7.4.0, la valeur était `1024`.

`ReflectionProperty::IS_ABSTRACT` int
  Indique que la propriété est abstraite. Disponible à partir de PHP 8.4.0.
`ReflectionProperty::IS_PROTECTED_SET` int
  Disponible à partir de PHP 8.4.0.
`ReflectionProperty::IS_PRIVATE_SET` int
  Disponible à partir de PHP 8.4.0.
`ReflectionProperty::IS_VIRTUAL` int
  Disponible à partir de PHP 8.4.0.
`ReflectionProperty::IS_FINAL` int
  Indique que la propriété est finale. Disponible à partir de PHP 8.4.0.

> Note:

> La valeur de ces constantes peut changer entre les versions de PHP. Il est recommandé de toujours utiliser les constantes et de ne pas dépendre des valeurs directement.

## Historique

Version | Description
--- | ---
8.4.0 | Les constantes de classe sont désormais typées.
8.4.0 | Ajout de `ReflectionProperty::IS_VIRTUAL`, `ReflectionProperty::IS_PRIVATE_SET`, `ReflectionProperty::IS_PROTECTED_SET`, `ReflectionProperty::IS_ABSTRACT`, et `ReflectionProperty::IS_FINAL`.
8.0.0 | ReflectionProperty::export() a été supprimée.

## Sommaire

- ReflectionProperty::__clone — Clonage
- ReflectionProperty::__construct — Construit un nouvel objet ReflectionProperty
- ReflectionProperty::export — Exporte
- ReflectionProperty::getAttributes — Renvoie les attributs
- ReflectionProperty::getDeclaringClass — Récupère la classe déclarante
- ReflectionProperty::getDefaultValue — Renvoie la valeur par défaut définie pour une propriété
- ReflectionProperty::getDocComment — Récupère le commentaire de documentation d'une propriété
- ReflectionProperty::getHook — Renvoie un objet de réflexion pour un hook donné
- ReflectionProperty::getHooks — Renvoie un tableau de tous les hooks sur cette propriété
- ReflectionProperty::getModifiers — Récupère les modificateurs de propriété
- ReflectionProperty::getName — Récupère le nom de la propriété
- ReflectionProperty::getRawValue — Renvoie la valeur de la propriété, en contournant un hook get si défini
- ReflectionProperty::getSettableType — Renvoie le type de paramètre d'un hook setter
- ReflectionProperty::getType — Récupère le type d'une propriété
- ReflectionProperty::getValue — Récupère la valeur de la propriété
- ReflectionProperty::hasDefaultValue — Vérifie si la propriété a une valeur par défaut
- ReflectionProperty::hasHook — Renvoie si la propriété a un hook donné défini
- ReflectionProperty::hasHooks — Renvoie si la propriété a des hooks définis
- ReflectionProperty::hasType — Vérifie si la propriété a un type
- ReflectionProperty::isAbstract — Détermine si une propriété est abstraite
- ReflectionProperty::isDefault — Vérifie si la propriété est celle par défaut
- ReflectionProperty::isDynamic — Vérifie si la propriété est une propriété dynamique
- ReflectionProperty::isFinal — Détermine si la propriété est finale ou non
- ReflectionProperty::isInitialized — Vérifie si une propriété est initialisée
- ReflectionProperty::isLazy — Vérifie si une propriété est paresseuse
- ReflectionProperty::isPrivate — Vérifie si la propriété est privée
- ReflectionProperty::isPrivateSet — Vérifie si la propriété est privée en écriture
- ReflectionProperty::isPromoted — Vérifie si la propriété est promue
- ReflectionProperty::isProtected — Vérifie si la propriété est protégée
- ReflectionProperty::isProtectedSet — Vérifie si la propriété est protégée en écriture
- ReflectionProperty::isPublic — Vérifie si la propriété est publique
- ReflectionProperty::isReadOnly — Vérifie si la propriété est en lecture seule
- ReflectionProperty::isStatic — Vérifie si la propriété est statique
- ReflectionProperty::isVirtual — Détermine si la propriété est virtuelle
- ReflectionProperty::setAccessible — Définit l'accessibilité d'une propriété
- ReflectionProperty::setRawValue — Définit la valeur d'une propriété, en contournant un hook de définition s'il est défini
- ReflectionProperty::setRawValueWithoutLazyInitialization — Définit la valeur brute d'une propriété sans déclencher l'initialisation paresseuse
- ReflectionProperty::setValue — Définit la valeur de la propriété
- ReflectionProperty::skipLazyInitialization — Marque une propriété comme non paresseuse
- ReflectionProperty::__toString — Récupère une représentation textuelle

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