# ReflectionClass クラス

(PHP 5, PHP 7, PHP 8)

## はじめに

ReflectionClass クラスは クラスについての情報を報告します。

## クラス概要

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

## プロパティ

name

  クラス名。読み込み専用で、書き込もうとすると ReflectionException をスローします。

## 定義済み定数

## ReflectionClass の修飾子

`ReflectionClass::IS_IMPLICIT_ABSTRACT` int

  抽象メソッドを持っているので abstract クラスであることを示します。

`ReflectionClass::IS_EXPLICIT_ABSTRACT` int

  その定義から abstract クラスであることを示します。

`ReflectionClass::IS_FINAL` int

  final クラスであることを示します。

`ReflectionClass::IS_READONLY` int

  readonly クラスであることを示します。

`ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE` int
  serialize()がレイジーオブジェクトの初期化を トリガーしないことを示します。
`ReflectionClass::SKIP_DESTRUCTOR` int
  オブジェクトをレイジーにリセットする時に、 デストラクタが呼び出されないことを示します。

## 変更履歴

バージョン | 説明
--- | ---
8.4.0 | クラス定数が型付けされました。
8.0.0 | ReflectionClass::export() は、削除されました。

## 目次

- ReflectionClass::__construct — ReflectionClass を作成する
- ReflectionClass::export — クラスをエクスポートする
- ReflectionClass::getAttributes — アトリビュートを取得する
- ReflectionClass::getConstant — 定義されている定数を取得する
- ReflectionClass::getConstants — 定数を取得する
- ReflectionClass::getConstructor — クラスのコンストラクタを取得する
- ReflectionClass::getDefaultProperties — デフォルトプロパティを取得する
- ReflectionClass::getDocComment — ドキュメントコメントを取得する
- ReflectionClass::getEndLine — 終了行を取得する
- ReflectionClass::getExtension — クラスを定義する拡張モジュールを表す ReflectionExtension オブジェクトを取得する
- ReflectionClass::getExtensionName — クラスを定義する拡張モジュールの名前を取得する
- ReflectionClass::getFileName — クラスが定義されているファイルのファイル名を取得する
- ReflectionClass::getInterfaceNames — インターフェイスの名前を取得する
- ReflectionClass::getInterfaces — インターフェイスを取得する
- ReflectionClass::getLazyInitializer — レイジーイニシャライザを取得する
- ReflectionClass::getMethod — クラスメソッドの ReflectionMethod を取得する
- ReflectionClass::getMethods — メソッドの配列を取得する
- ReflectionClass::getModifiers — クラス修飾子を取得する
- ReflectionClass::getName — クラスの名前を取得する
- ReflectionClass::getNamespaceName — 名前空間の名前を取得する
- ReflectionClass::getParentClass — 親クラスを取得する
- ReflectionClass::getProperties — プロパティを取得する
- ReflectionClass::getProperty — クラスのプロパティを表す ReflectionProperty を取得する
- ReflectionClass::getReflectionConstant — クラス定数の ReflectionClassConstant を取得する
- ReflectionClass::getReflectionConstants — クラス定数を取得する
- ReflectionClass::getShortName — 短い名前を取得する
- ReflectionClass::getStartLine — 開始行を取得する
- ReflectionClass::getStaticProperties — staticプロパティを取得する
- ReflectionClass::getStaticPropertyValue — staticプロパティの値を取得する
- ReflectionClass::getTraitAliases — トレイトのエイリアスの配列を返す
- ReflectionClass::getTraitNames — このクラスが使うトレイトの名前の配列を返す
- ReflectionClass::getTraits — このクラスが使うトレイトの配列を返す
- ReflectionClass::hasConstant — 定数が定義されているかどうかを調べる
- ReflectionClass::hasMethod — メソッドが定義されているかどうかを調べる
- ReflectionClass::hasProperty — プロパティが定義されているかどうかを調べる
- ReflectionClass::implementsInterface — インターフェイスの実装を調べる
- ReflectionClass::initializeLazyObject — レイジーオブジェクトを強制的に初期化する
- ReflectionClass::inNamespace — 名前空間内にあるかどうかを調べる
- ReflectionClass::isAbstract — 抽象クラスであるかどうかを調べる
- ReflectionClass::isAnonymous — クラスが無名クラスかを調べる
- ReflectionClass::isCloneable — このクラスがクローン可能かどうかを返す
- ReflectionClass::isEnum — 列挙型であるかどうかを返す
- ReflectionClass::isFinal — final クラスであるかどうかを調べる
- ReflectionClass::isInstance — クラスのインスタンスであるかどうかを調べる
- ReflectionClass::isInstantiable — クラスのインスタンス化が可能であるかどうかを調べる
- ReflectionClass::isInterface — このクラスがインターフェイスであるかどうかを調べる
- ReflectionClass::isInternal — 拡張モジュールあるいはコアで定義された内部クラスであるかどうかを調べる
- ReflectionClass::isIterable — このクラスがイテレーション可能かを調べる
- ReflectionClass::isIterateable — ReflectionClass::isIterable のエイリアス
- ReflectionClass::isReadOnly — クラスが readonly かを調べる
- ReflectionClass::isSubclassOf — サブクラスであるかどうかを調べる
- ReflectionClass::isTrait — トレイトであるかどうかを返す
- ReflectionClass::isUninitializedLazyObject — オブジェクトがレイジーで未初期化かどうかを調べる
- ReflectionClass::isUserDefined — ユーザー定義であるかどうかを調べる
- ReflectionClass::markLazyObjectAsInitialized — イニシャライザまたはファクトリを呼び出さずレイジーオブジェクトを初期化済みとしてマークする
- ReflectionClass::newInstance — 指定した引数でクラスの新しいインスタンスを作成する
- ReflectionClass::newInstanceArgs — 指定した引数でクラスの新しいインスタンスを作成する
- ReflectionClass::newInstanceWithoutConstructor — コンストラクタを起動せずに新しいクラスのインスタンスを作成する
- ReflectionClass::newLazyGhost — 新しいレイジーゴーストインスタンスを作成する
- ReflectionClass::newLazyProxy — 新しいレイジープロキシインスタンスを作成する
- ReflectionClass::resetAsLazyGhost — オブジェクトをリセットしてレイジーとしてマークする
- ReflectionClass::resetAsLazyProxy — オブジェクトをリセットしてレイジーとしてマークする
- ReflectionClass::setStaticPropertyValue — publicなstaticプロパティの値を設定する
- ReflectionClass::__toString — ReflectionClass オブジェクトの文字列表現を返す

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