# リフレクション

# はじめに

PHP には完全なリフレクション API が付属しており、 クラス、インターフェイス、関数、メソッド、そして拡張モジュールについて 型やプロパティを実行時に調べることができます。 さらに、このリフレクション API は関数、クラス、メソッドに 関するドキュメントコメントも取得することができます。

内部 API の一部には、Reflection 拡張モジュールに対応するために必要なコードが欠けているものがあることに注意しましょう。 たとえば、内部 PHP クラスにはプロパティについてのリフレクションデータがありません。 しかし、こういった例はバグだと見なされており、見つけたら修正しなければなりません。

- 例
- 拡張
- Reflection — Reflection クラス
  - Reflection::export — エクスポートする
  - Reflection::getModifierNames — 修飾子の名前を取得する
- ReflectionClass — ReflectionClass クラス
  - 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 オブジェクトの文字列表現を返す
- ReflectionClassConstant — ReflectionClassConstant クラス
  - ReflectionClassConstant::__construct — ReflectionClassConstant を構築する
  - ReflectionClassConstant::export — リフレクションをエクスポートする
  - ReflectionClassConstant::getAttributes — アトリビュートを取得する
  - ReflectionClassConstant::getDeclaringClass — 定数を宣言しているクラスを取得する
  - ReflectionClassConstant::getDocComment — クラス定数のドキュメントコメントを取得する
  - ReflectionClassConstant::getModifiers — クラス定数の修飾子を取得する
  - ReflectionClassConstant::getName — 定数名を取得する
  - ReflectionClassConstant::getType — クラス定数の型を取得する
  - ReflectionClassConstant::getValue — 値を取得する
  - ReflectionClassConstant::hasType — クラス定数に型が指定されているかを調べる
  - ReflectionClassConstant::isDeprecated — クラス定数が非推奨かどうかを調べる
  - ReflectionClassConstant::isEnumCase — クラス定数が、列挙型の case かどうかを調べる
  - ReflectionClassConstant::isFinal — クラス定数が final かどうかを調べる
  - ReflectionClassConstant::isPrivate — クラス定数がprivateかを調べる
  - ReflectionClassConstant::isProtected — クラス定数が protected かを調べる
  - ReflectionClassConstant::isPublic — クラス定数が public かを調べる
  - ReflectionClassConstant::__toString — ReflectionClassConstant オブジェクトの文字列表現を返す
- ReflectionConstant — ReflectionConstant クラス
  - ReflectionConstant::__construct — ReflectionConstant を構築する
  - ReflectionConstant::getExtension — 定数を定義した拡張モジュールの ReflectionExtension を取得する
  - ReflectionConstant::getExtensionName — 定数を定義した拡張モジュールの名前を取得する
  - ReflectionConstant::getFileName — 定数を定義したファイル名を取得する
  - ReflectionConstant::getName — 定数名を取得する
  - ReflectionConstant::getNamespaceName — 名前空間名を取得する
  - ReflectionConstant::getShortName — 短い名前を取得する
  - ReflectionConstant::getValue — 値を取得する
  - ReflectionConstant::isDeprecated — 非推奨かどうかを調べる
  - ReflectionConstant::__toString — 文字列表現を返す
- ReflectionEnum — ReflectionEnum クラス
  - ReflectionEnum::__construct — ReflectionEnum オブジェクトをインスタンス化する
  - ReflectionEnum::getBackingType — 存在する場合に、列挙型が依存する型を取得する
  - ReflectionEnum::getCase — 列挙型の特定の case を返す
  - ReflectionEnum::getCases — 列挙型の全ての case を返す
  - ReflectionEnum::hasCase — 列挙型が case を持つかを調べる
  - ReflectionEnum::isBacked — 列挙型が Backed Enum かを調べる
- ReflectionEnumUnitCase — ReflectionEnumUnitCase クラス
  - ReflectionEnumUnitCase::__construct — ReflectionEnumUnitCase オブジェクトをインスタンス化する
  - ReflectionEnumUnitCase::getEnum — この case が属するリフレクションオブジェクトを取得する
  - ReflectionEnumUnitCase::getValue — このリフレクションオブジェクトが表す case オブジェクトを取得する
- ReflectionEnumBackedCase — ReflectionEnumBackedCase クラス
  - ReflectionEnumBackedCase::__construct — ReflectionEnumBackedCase オブジェクトをインスタンス化する
  - ReflectionEnumBackedCase::getBackingValue — Backed Enum の case が持つスカラー値を取得する
- ReflectionZendExtension — ReflectionZendExtension クラス
  - ReflectionZendExtension::__clone — Clone のハンドラ
  - ReflectionZendExtension::__construct — ReflectionZendExtension オブジェクトを作成する
  - ReflectionZendExtension::export — エクスポート
  - ReflectionZendExtension::getAuthor — 作者を取得する
  - ReflectionZendExtension::getCopyright — 著作権情報を取得する
  - ReflectionZendExtension::getName — 名前を取得する
  - ReflectionZendExtension::getURL — URL を取得する
  - ReflectionZendExtension::getVersion — バージョンを取得する
  - ReflectionZendExtension::__toString — 文字列変換のハンドラ
- ReflectionExtension — ReflectionExtension クラス
  - ReflectionExtension::__clone — クローンする
  - ReflectionExtension::__construct — ReflectionExtension を作成する
  - ReflectionExtension::export — エクスポートする
  - ReflectionExtension::getClasses — クラスを取得する
  - ReflectionExtension::getClassNames — クラス名を取得する
  - ReflectionExtension::getConstants — 定数を取得する
  - ReflectionExtension::getDependencies — 依存性を取得する
  - ReflectionExtension::getFunctions — 拡張モジュールの関数を取得する
  - ReflectionExtension::getINIEntries — 拡張モジュールの ini エントリを取得する
  - ReflectionExtension::getName — 拡張モジュール名を取得する
  - ReflectionExtension::getVersion — 拡張モジュールのバージョンを取得する
  - ReflectionExtension::info — 拡張モジュールの情報を表示する
  - ReflectionExtension::isPersistent — この拡張モジュールが永続性のあるものかどうかを返す
  - ReflectionExtension::isTemporary — この拡張モジュールが一時的なものかどうかを返す
  - ReflectionExtension::__toString — 文字列に変換する
- ReflectionFunction — ReflectionFunction クラス
  - ReflectionFunction::__construct — ReflectionFunction オブジェクトを作成する
  - ReflectionFunction::export — 関数をエクスポートする
  - ReflectionFunction::getClosure — この関数に動的に作成されたクロージャを返す
  - ReflectionFunction::invoke — 関数を起動する
  - ReflectionFunction::invokeArgs — 引数を指定して関数を起動する
  - ReflectionFunction::isAnonymous — 関数が無名関数かどうかを調べる
  - ReflectionFunction::isDisabled — 関数が無効になっているかどうかを調べる
  - ReflectionFunction::__toString — ReflectionFunction を表現する文字列を返す
- ReflectionFunctionAbstract — ReflectionFunctionAbstract クラス
  - ReflectionFunctionAbstract::__clone — 関数のクローンを作成する
  - ReflectionFunctionAbstract::getAttributes — アトリビュートを取得する
  - ReflectionFunctionAbstract::getClosureCalledClass — クロージャ内部で static:: に対応するクラスを返す
  - ReflectionFunctionAbstract::getClosureScopeClass — クロージャ内部のスコープに関連づけられたクラスを返す
  - ReflectionFunctionAbstract::getClosureThis — クロージャ内部の $this に関連付けられたオブジェクトを返す
  - ReflectionFunctionAbstract::getClosureUsedVariables — クロージャ内で使われている変数の配列を返す
  - ReflectionFunctionAbstract::getDocComment — ドキュメントコメントを取得する
  - ReflectionFunctionAbstract::getEndLine — 終了行番号を取得する
  - ReflectionFunctionAbstract::getExtension — 拡張モジュールの情報を取得する
  - ReflectionFunctionAbstract::getExtensionName — 拡張モジュールの名前を取得する
  - ReflectionFunctionAbstract::getFileName — ファイル名を取得する
  - ReflectionFunctionAbstract::getName — 関数名を取得する
  - ReflectionFunctionAbstract::getNamespaceName — 名前空間名を取得する
  - ReflectionFunctionAbstract::getNumberOfParameters — パラメータ数を取得する
  - ReflectionFunctionAbstract::getNumberOfRequiredParameters — 必須パラメータの数を取得する
  - ReflectionFunctionAbstract::getParameters — パラメータを取得する
  - ReflectionFunctionAbstract::getReturnType — 指定された関数の戻り値の型を取得する
  - ReflectionFunctionAbstract::getShortName — 関数の短い名前を取得する
  - ReflectionFunctionAbstract::getStartLine — 開始行番号を取得する
  - ReflectionFunctionAbstract::getStaticVariables — static変数を取得する
  - ReflectionFunctionAbstract::getTentativeReturnType — 関数に関連付けられた仮の戻り値の型を返す
  - ReflectionFunctionAbstract::hasReturnType — 関数が戻り値の型を指定しているかを調べる
  - ReflectionFunctionAbstract::hasTentativeReturnType — 戻り値の型を仮で宣言しているかを返す
  - ReflectionFunctionAbstract::inNamespace — 関数が名前空間内にあるかどうかを調べる
  - ReflectionFunctionAbstract::isClosure — クロージャであるかどうかを調べる
  - ReflectionFunctionAbstract::isDeprecated — 非推奨であるかどうかを調べる
  - ReflectionFunctionAbstract::isGenerator — この関数がジェネレータかどうかを返す
  - ReflectionFunctionAbstract::isInternal — 内部関数かどうかを調べる
  - ReflectionFunctionAbstract::isStatic — 関数が static であるかどうかを調べる
  - ReflectionFunctionAbstract::isUserDefined — ユーザー定義関数であるかどうかを調べる
  - ReflectionFunctionAbstract::isVariadic — この関数の引数が可変長かを調べる
  - ReflectionFunctionAbstract::returnsReference — 参照返しかどうかを調べる
  - ReflectionFunctionAbstract::__toString — ReflectionFunctionAbstract を表現する文字列を返す
- ReflectionMethod — ReflectionMethod クラス
  - ReflectionMethod::__construct — ReflectionMethod を作成する
  - ReflectionMethod::createFromMethodName — ReflectionMethod を作成する
  - ReflectionMethod::export — メソッドをエクスポートする
  - ReflectionMethod::getClosure — このメソッドに動的に作成されたクロージャを返す
  - ReflectionMethod::getDeclaringClass — メソッドが宣言されているクラスを取得する
  - ReflectionMethod::getModifiers — メソッドの修飾子を取得する
  - ReflectionMethod::getPrototype — メソッドのプロトタイプを (存在すれば) 取得する
  - ReflectionMethod::hasPrototype — メソッドがプロトタイプを持つかを調べる
  - ReflectionMethod::invoke — 実行する
  - ReflectionMethod::invokeArgs — 実行する
  - ReflectionMethod::isAbstract — 抽象メソッドであるかどうかを調べる
  - ReflectionMethod::isConstructor — コンストラクタであるかどうかを調べる
  - ReflectionMethod::isDestructor — デストラクタであるかどうかを調べる
  - ReflectionMethod::isFinal — final メソッドであるかどうかを調べる
  - ReflectionMethod::isPrivate — private メソッドであるかどうかを調べる
  - ReflectionMethod::isProtected — protected メソッドであるかどうかを調べる
  - ReflectionMethod::isPublic — public メソッドであるかどうかを調べる
  - ReflectionMethod::setAccessible — メソッドのアクセス範囲を設定する
  - ReflectionMethod::__toString — ReflectionMethod オブジェクトの文字列表現を返す
- ReflectionNamedType — ReflectionNamedType クラス
  - ReflectionNamedType::getName — 型の名前の文字列を取得する
  - ReflectionNamedType::isBuiltin — 組み込みの型であるかを調べる
- ReflectionObject — ReflectionObject クラス
  - ReflectionObject::__construct — ReflectionObject を作成する
  - ReflectionObject::export — エクスポートする
- ReflectionParameter — ReflectionParameter クラス
  - ReflectionParameter::allowsNull — null を許可するかどうかを調べる
  - ReflectionParameter::canBePassedByValue — このパラメータが値渡し可能かどうかを返す
  - ReflectionParameter::__clone — クローンする
  - ReflectionParameter::__construct — コンストラクタ
  - ReflectionParameter::export — エクスポートする
  - ReflectionParameter::getAttributes — アトリビュートを取得する
  - ReflectionParameter::getClass — リフレクションされた ReflectionClass を取得する。
  - ReflectionParameter::getDeclaringClass — 宣言しているクラスを取得する
  - ReflectionParameter::getDeclaringFunction — 宣言している関数を取得する
  - ReflectionParameter::getDefaultValue — パラメータのデフォルト値を取得する
  - ReflectionParameter::getDefaultValueConstantName — デフォルト値が定数あるいは null の場合に、その定数名を返す
  - ReflectionParameter::getName — パラメータ名を取得する
  - ReflectionParameter::getPosition — パラメータの位置を取得する
  - ReflectionParameter::getType — 引数の型を取得する
  - ReflectionParameter::hasType — 引数が型を持つかを調べる
  - ReflectionParameter::isArray — 配列を受け取るパラメータであるかどうかを調べる
  - ReflectionParameter::isCallable — パラメータが callable かどうかを返す
  - ReflectionParameter::isDefaultValueAvailable — デフォルト値が存在するかどうかを調べる
  - ReflectionParameter::isDefaultValueConstant — このパラメータのデフォルト値が定数かどうかを返す
  - ReflectionParameter::isOptional — 省略可能であるかどうかを調べる
  - ReflectionParameter::isPassedByReference — 参照渡しかどうかを調べる
  - ReflectionParameter::isPromoted — パラメータがプロパティに昇格しているかを調べる
  - ReflectionParameter::isVariadic — 引数が可変長の個数であるかをチェックする
  - ReflectionParameter::__toString — 文字列に変換する
- ReflectionProperty — ReflectionProperty クラス
  - 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 — 文字列に変換する
- ReflectionType — ReflectionType クラス
  - ReflectionType::allowsNull — null が許されるかをチェックする
  - ReflectionType::__toString — 文字列に変換する
- ReflectionUnionType — ReflectionUnionType クラス
  - ReflectionUnionType::getTypes — union 型に含まれる型を返す。
- ReflectionGenerator — ReflectionGenerator クラス
  - ReflectionGenerator::__construct — ReflectionGenerator オブジェクトを構築する
  - ReflectionGenerator::getExecutingFile — 現在実行中のジェネレータのファイル名を取得する
  - ReflectionGenerator::getExecutingGenerator — 実行中の Generator オブジェクトを取得する
  - ReflectionGenerator::getExecutingLine — 現在実行中のジェネレータの行を取得する
  - ReflectionGenerator::getFunction — ジェネレータの関数名を取得する
  - ReflectionGenerator::getThis — ジェネレータの $this の値を取得する
  - ReflectionGenerator::getTrace — 実行中のジェネレータのトレースを取得する
  - ReflectionGenerator::isClosed — ジェネレータの実行が完了したかどうかを調べる
- ReflectionFiber — ReflectionFiber クラス
  - ReflectionFiber::__construct — Constructs a ReflectionFiber オブジェクトを構築する
  - ReflectionFiber::getCallable — Fiber の構築に使われた callable を取得する
  - ReflectionFiber::getExecutingFile — 現在実行中のファイル名を取得する
  - ReflectionFiber::getExecutingLine — 現在実行中の行番号を取得する
  - ReflectionFiber::getFiber — リフレクションされた Fiber クラスのインスタンスを取得する
  - ReflectionFiber::getTrace — 現在実行している時点のバックトレースを取得する
- ReflectionIntersectionType — ReflectionIntersectionType クラス
  - ReflectionIntersectionType::getTypes — 交差型に含まれている型を返す
- ReflectionReference — ReflectionReference クラス
  - ReflectionReference::__construct — private なコンストラクタのため、直接インスタンス化できません
  - ReflectionReference::fromArrayElement — 配列の要素から、ReflectionReference を生成する
  - ReflectionReference::getId — リファレンスのユニークなIDを取得する
- ReflectionAttribute — ReflectionAttribute クラス
  - ReflectionAttribute::__construct — private なコンストラクタのため、直接インスタンス化できません
  - ReflectionAttribute::getArguments — アトリビュートに渡された引数を取得する
  - ReflectionAttribute::getName — アトリビュートの名前を取得する
  - ReflectionAttribute::getTarget — アトリビュートのターゲットをビットマスクとして返す
  - ReflectionAttribute::isRepeated — この名前のアトリビュートが、実際にコード上に繰り返し現れているかどうかを取得する
  - ReflectionAttribute::newInstance — アトリビュートクラスをインスタンス化する
- Reflector — Reflector インターフェイス
  - Reflector::export — エクスポートする
- ReflectionException — ReflectionException クラス
- PropertyHookType — PropertyHookType 列挙型

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