# ReflectionProperty クラス

(PHP 5, PHP 7, PHP 8)

## はじめに

ReflectionProperty クラスは クラスのプロパティについての情報を報告します。

## クラス概要

class ReflectionProperty implements Reflector {
/* 定数 */
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;
/* プロパティ */
public string $name;
public string $class;
/* メソッド */
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
}

## プロパティ

name

  プロパティ名。読み込み専用で、書き込もうとすると ReflectionException をスローします。

class

  プロパティが定義されているクラス名。読み込み専用で、書き込もうとすると ReflectionException をスローします。

## 定義済み定数

## ReflectionProperty の修飾子

`ReflectionProperty::IS_STATIC` int

  static プロパティを示します。 PHP 7.4.0 より前のバージョンでは、この値は `1` でした。

`ReflectionProperty::IS_READONLY` int

  readonly プロパティを示します。 PHP 8.1.0 以降で利用可能です。

`ReflectionProperty::IS_PUBLIC` int

  public プロパティを示します。 PHP 7.4.0 より前のバージョンでは、この値は `256` でした。

`ReflectionProperty::IS_PROTECTED` int

  protected プロパティを示します。 PHP 7.4.0 より前のバージョンでは、この値は `512` でした。

`ReflectionProperty::IS_PRIVATE` int

  private プロパティを示します。 PHP 7.4.0 より前のバージョンでは、この値は `1024` でした。

`ReflectionProperty::IS_ABSTRACT` int
  abstract プロパティを示します。 PHP 8.4.0 以降で利用可能です。
`ReflectionProperty::IS_PROTECTED_SET` int
  PHP 8.4.0 以降で利用可能です。
`ReflectionProperty::IS_PRIVATE_SET` int
  PHP 8.4.0 以降で利用可能です。
`ReflectionProperty::IS_VIRTUAL` int
  PHP 8.4.0 以降で利用可能です。
`ReflectionProperty::IS_FINAL` int
  final プロパティを示します。 PHP 8.4.0 以降で利用可能です。

> 注意:

> これらの定数の値は、PHP のバージョンが異なると変更される可能性があります。 これらの値を直接用いず、常に定数を使うことを推奨します。

## 変更履歴

バージョン | 説明
--- | ---
8.4.0 | クラス定数が型付けされました。
8.4.0 | `ReflectionProperty::IS_VIRTUAL`、 `ReflectionProperty::IS_PRIVATE_SET`、 `ReflectionProperty::IS_PROTECTED_SET`、 `ReflectionProperty::IS_ABSTRACT`、 `ReflectionProperty::IS_FINAL` が追加されました。
8.0.0 | ReflectionProperty::export() は、削除されました。

## 目次

- ReflectionProperty::__clone — クローンする
- ReflectionProperty::__construct — ReflectionProperty オブジェクトを作成する
- ReflectionProperty::export — エクスポートする
- ReflectionProperty::getAttributes — アトリビュートを取得する
- ReflectionProperty::getDeclaringClass — 宣言しているクラスを取得する
- ReflectionProperty::getDefaultValue — プロパティで宣言されたデフォルト値を返す
- ReflectionProperty::getDocComment — プロパティのドキュメントコメントを取得する
- ReflectionProperty::getHook — 指定したフックに対応するリフレクションオブジェクトを返す
- ReflectionProperty::getHooks — このプロパティに指定された全てのフックを配列で返す
- ReflectionProperty::getModifiers — プロパティの修飾子を取得する
- ReflectionProperty::getName — プロパティ名を取得する
- ReflectionProperty::getRawValue — get フックが定義されていたとしても、それを迂回してプロパティの値を返す
- ReflectionProperty::getSettableType — set フックのパラメータの型を返す
- ReflectionProperty::getType — プロパティの型を取得する
- ReflectionProperty::getValue — 値を取得する
- ReflectionProperty::hasDefaultValue — デフォルト値が宣言されているかをチェックする
- ReflectionProperty::hasHook — プロパティに指定されたフックが定義されているかどうかを返す
- ReflectionProperty::hasHooks — プロパティに何かしらのフックが定義されているかどうかを返す
- ReflectionProperty::hasType — プロパティが型を持つかをチェックする
- ReflectionProperty::isAbstract — プロパティが abstract かどうかを判定する
- ReflectionProperty::isDefault — デフォルトプロパティであるかどうかを調べる
- ReflectionProperty::isDynamic — 動的なプロパティかどうかを調べる
- ReflectionProperty::isFinal — プロパティが final かどうかを判定する
- ReflectionProperty::isInitialized — プロパティが初期化されているかをチェックする
- ReflectionProperty::isLazy — プロパティがレイジーであるかどうかを調べる
- ReflectionProperty::isPrivate — private プロパティであるかどうかを調べる
- ReflectionProperty::isPrivateSet — プロパティが書き込みについて private かどうかを調べる
- ReflectionProperty::isPromoted — プロパティがコンストラクタの引数から昇格したものかを調べる
- ReflectionProperty::isProtected — protected プロパティであるかどうかを調べる
- ReflectionProperty::isProtectedSet — プロパティが書き込みについて protected かどうかを調べる
- ReflectionProperty::isPublic — public プロパティであるかどうかを調べる
- ReflectionProperty::isReadOnly — プロパティが readonly かを調べる
- ReflectionProperty::isStatic — staticプロパティであるかどうかを調べる
- ReflectionProperty::isVirtual — プロパティが仮想プロパティかどうかを判定する
- ReflectionProperty::setAccessible — プロパティのアクセス範囲を設定する
- ReflectionProperty::setRawValue — set フックが定義されていたとしても、それを迂回してプロパティの値を設定する
- ReflectionProperty::setRawValueWithoutLazyInitialization — 遅延初期化をトリガーせず生のプロパティ値を設定する
- ReflectionProperty::setValue — プロパティの値を設定する
- ReflectionProperty::skipLazyInitialization — プロパティを非レイジーとしてマークする
- ReflectionProperty::__toString — 文字列に変換する

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