# リフレクション

- はじめに
- インストール/設定
  - 要件
  - インストール手順
  - 実行時設定
  - リソース型
- 定義済み定数
- 例
- 拡張
- Reflection — Reflection クラス
  - Reflection::export — エクスポートする
  - Reflection::getModifierNames — Gets modifier names
- ReflectionClass — ReflectionClass クラス
  - ReflectionClass::__construct — ReflectionClass を作成する
  - ReflectionClass::export — クラスをエクスポートする
  - ReflectionClass::getConstant — 定義されている定数を取得する
  - ReflectionClass::getConstants — 定数を取得する
  - ReflectionClass::getConstructor — クラスのコンストラクタを取得する
  - ReflectionClass::getDefaultProperties — デフォルトプロパティを取得する
  - ReflectionClass::getDocComment — ドキュメントコメントを取得する
  - ReflectionClass::getEndLine — 終了行を取得する
  - ReflectionClass::getExtension — クラスを定義する拡張モジュールを表す ReflectionExtension オブジェクトを取得する
  - ReflectionClass::getExtensionName — クラスを定義する拡張モジュールの名前を取得する
  - ReflectionClass::getFileName — クラスが定義されているファイルのファイル名を取得する
  - ReflectionClass::getInterfaceNames — インターフェイスの名前を取得する
  - ReflectionClass::getInterfaces — インターフェイスを取得する
  - ReflectionClass::getMethod — クラスメソッドの ReflectionMethod を取得する
  - ReflectionClass::getMethods — メソッドの配列を取得する
  - ReflectionClass::getModifiers — クラス修飾子を取得する
  - ReflectionClass::getName — クラスの名前を取得する
  - ReflectionClass::getNamespaceName — 名前空間の名前を取得する
  - ReflectionClass::getParentClass — 親クラスを取得する
  - ReflectionClass::getProperties — プロパティを取得する
  - ReflectionClass::getProperty — クラスのプロパティを表す ReflectionProperty を取得する
  - ReflectionClass::getReflectionConstant — Gets a ReflectionClassConstant for a class's constant
  - ReflectionClass::getReflectionConstants — Gets class constants
  - ReflectionClass::getShortName — 短い名前を取得する
  - ReflectionClass::getStartLine — 開始行を取得する
  - ReflectionClass::getStaticProperties — 静的なプロパティを取得する
  - ReflectionClass::getStaticPropertyValue — 静的なプロパティの値を取得する
  - ReflectionClass::getTraitAliases — トレイトのエイリアスの配列を返す
  - ReflectionClass::getTraitNames — このクラスが使うトレイトの名前の配列を返す
  - ReflectionClass::getTraits — このクラスが使うトレイトの配列を返す
  - ReflectionClass::hasConstant — 定数が定義されているかどうかを調べる
  - ReflectionClass::hasMethod — メソッドが定義されているかどうかを調べる
  - ReflectionClass::hasProperty — プロパティが定義されているかどうかを調べる
  - ReflectionClass::implementsInterface — インターフェイスの実装を調べる
  - ReflectionClass::inNamespace — 名前空間内にあるかどうかを調べる
  - ReflectionClass::isAbstract — 抽象クラスであるかどうかを調べる
  - ReflectionClass::isAnonymous — Checks if class is anonymous
  - ReflectionClass::isCloneable — このクラスがクローン可能かどうかを返す
  - ReflectionClass::isFinal — final クラスであるかどうかを調べる
  - ReflectionClass::isInstance — クラスのインスタンスであるかどうかを調べる
  - ReflectionClass::isInstantiable — クラスのインスタンス化が可能であるかどうかを調べる
  - ReflectionClass::isInterface — このクラスがインターフェイスであるかどうかを調べる
  - ReflectionClass::isInternal — 拡張モジュールあるいはコアで定義された内部クラスであるかどうかを調べる
  - ReflectionClass::isIterable — Check whether this class is iterable
  - ReflectionClass::isIterateable — 反復処理が可能であるかどうかを調べる
  - ReflectionClass::isSubclassOf — サブクラスであるかどうかを調べる
  - ReflectionClass::isTrait — トレイトであるかどうかを返す
  - ReflectionClass::isUserDefined — ユーザー定義であるかどうかを調べる
  - ReflectionClass::newInstance — 指定した引数でクラスの新しいインスタンスを作成する
  - ReflectionClass::newInstanceArgs — 指定した引数でクラスの新しいインスタンスを作成する
  - ReflectionClass::newInstanceWithoutConstructor — コンストラクタを起動せずに新しいクラスのインスタンスを作成する
  - ReflectionClass::setStaticPropertyValue — 静的なプロパティの値を設定する
  - ReflectionClass::__toString — ReflectionClass オブジェクトの文字列表現を返す
- ReflectionClassConstant — The ReflectionClassConstant class
  - ReflectionClassConstant::__construct — Constructs a ReflectionClassConstant
  - ReflectionClassConstant::export — Export
  - ReflectionClassConstant::getDeclaringClass — Gets declaring class
  - ReflectionClassConstant::getDocComment — Gets doc comments
  - ReflectionClassConstant::getModifiers — Gets the class constant modifiers
  - ReflectionClassConstant::getName — Get name of the constant
  - ReflectionClassConstant::getValue — Gets value
  - ReflectionClassConstant::isPrivate — Checks if class constant is private
  - ReflectionClassConstant::isProtected — Checks if class constant is protected
  - ReflectionClassConstant::isPublic — Checks if class constant is public
  - ReflectionClassConstant::__toString — Returns the string representation of the ReflectionClassConstant object
- ReflectionZendExtension — ReflectionZendExtension クラス
  - ReflectionZendExtension::__clone — Clone のハンドラ
  - ReflectionZendExtension::__construct — コンストラクタ
  - 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::isDisabled — 関数が無効になっているかどうかを調べる
  - ReflectionFunction::__toString — 文字列に変換する
- ReflectionFunctionAbstract — ReflectionFunctionAbstract クラス
  - ReflectionFunctionAbstract::__clone — 関数のクローンを作成する
  - ReflectionFunctionAbstract::getClosureScopeClass — クロージャに関連づけられたスコープを返す
  - ReflectionFunctionAbstract::getClosureThis — クロージャにバインドした this ポインタを返す
  - ReflectionFunctionAbstract::getDocComment — ドキュメントコメントを取得する
  - ReflectionFunctionAbstract::getEndLine — 終了行番号を取得する
  - ReflectionFunctionAbstract::getExtension — 拡張モジュールの情報を取得する
  - ReflectionFunctionAbstract::getExtensionName — 拡張モジュールの名前を取得する
  - ReflectionFunctionAbstract::getFileName — ファイル名を取得する
  - ReflectionFunctionAbstract::getName — 関数名を取得する
  - ReflectionFunctionAbstract::getNamespaceName — 名前空間名を取得する
  - ReflectionFunctionAbstract::getNumberOfParameters — パラメータ数を取得する
  - ReflectionFunctionAbstract::getNumberOfRequiredParameters — 必須パラメータの数を取得する
  - ReflectionFunctionAbstract::getParameters — パラメータを取得する
  - ReflectionFunctionAbstract::getReturnType — Gets the specified return type of a function
  - ReflectionFunctionAbstract::getShortName — 関数の短い名前を取得する
  - ReflectionFunctionAbstract::getStartLine — 開始行番号を取得する
  - ReflectionFunctionAbstract::getStaticVariables — 静的変数を取得する
  - ReflectionFunctionAbstract::hasReturnType — Checks if the function has a specified return type
  - ReflectionFunctionAbstract::inNamespace — 関数が名前空間内にあるかどうかを調べる
  - ReflectionFunctionAbstract::isClosure — クロージャであるかどうかを調べる
  - ReflectionFunctionAbstract::isDeprecated — 非推奨であるかどうかを調べる
  - ReflectionFunctionAbstract::isGenerator — この関数がジェネレータかどうかを返す
  - ReflectionFunctionAbstract::isInternal — 内部関数かどうかを調べる
  - ReflectionFunctionAbstract::isUserDefined — ユーザー定義関数であるかどうかを調べる
  - ReflectionFunctionAbstract::isVariadic — Checks if the function is variadic
  - ReflectionFunctionAbstract::returnsReference — 参照返しかどうかを調べる
  - ReflectionFunctionAbstract::__toString — 文字列に変換する
- ReflectionMethod — ReflectionMethod クラス
  - ReflectionMethod::__construct — ReflectionMethod を作成する
  - ReflectionMethod::export — メソッドをエクスポートする
  - ReflectionMethod::getClosure — このメソッドに動的に作成されたクロージャを返す
  - ReflectionMethod::getDeclaringClass — メソッドが宣言されているクラスを取得する
  - ReflectionMethod::getModifiers — メソッドの修飾子を取得する
  - ReflectionMethod::getPrototype — メソッドのプロトタイプを (存在すれば) 取得する
  - ReflectionMethod::invoke — 実行する
  - ReflectionMethod::invokeArgs — 実行する
  - ReflectionMethod::isAbstract — 抽象メソッドであるかどうかを調べる
  - ReflectionMethod::isConstructor — コンストラクタであるかどうかを調べる
  - ReflectionMethod::isDestructor — デストラクタであるかどうかを調べる
  - ReflectionMethod::isFinal — final メソッドであるかどうかを調べる
  - ReflectionMethod::isPrivate — private メソッドであるかどうかを調べる
  - ReflectionMethod::isProtected — protected メソッドであるかどうかを調べる
  - ReflectionMethod::isPublic — public メソッドであるかどうかを調べる
  - ReflectionMethod::isStatic — 静的メソッドであるかどうかを調べる
  - ReflectionMethod::setAccessible — メソッドのアクセス範囲を設定する
  - ReflectionMethod::__toString — ReflectionMethod オブジェクトの文字列表現を返す
- ReflectionObject — ReflectionObject クラス
  - ReflectionObject::__construct — ReflectionObject を作成する
  - ReflectionObject::export — エクスポートする
- ReflectionParameter — ReflectionParameter クラス
  - ReflectionParameter::allowsNull — null を許可するかどうかを調べる
  - ReflectionParameter::canBePassedByValue — このパラメータが値渡し可能かどうかを返す
  - ReflectionParameter::__clone — クローンする
  - ReflectionParameter::__construct — コンストラクタ
  - ReflectionParameter::export — エクスポートする
  - ReflectionParameter::getClass — タイプヒントつきのクラスを取得する
  - ReflectionParameter::getDeclaringClass — 宣言しているクラスを取得する
  - ReflectionParameter::getDeclaringFunction — 宣言している関数を取得する
  - ReflectionParameter::getDefaultValue — パラメータのデフォルト値を取得する
  - ReflectionParameter::getDefaultValueConstantName — デフォルト値が定数あるいは null の場合に、その定数名を返す
  - ReflectionParameter::getName — パラメータ名を取得する
  - ReflectionParameter::getPosition — パラメータの位置を取得する
  - ReflectionParameter::getType — Gets a parameter's type
  - ReflectionParameter::hasType — Checks if parameter has a type
  - ReflectionParameter::isArray — 配列を受け取るパラメータであるかどうかを調べる
  - ReflectionParameter::isCallable — パラメータが callable かどうかを返す
  - ReflectionParameter::isDefaultValueAvailable — デフォルト値が存在するかどうかを調べる
  - ReflectionParameter::isDefaultValueConstant — このパラメータのデフォルト値が定数かどうかを返す
  - ReflectionParameter::isOptional — 省略可能であるかどうかを調べる
  - ReflectionParameter::isPassedByReference — 参照渡しかどうかを調べる
  - ReflectionParameter::isVariadic — Checks if the parameter is variadic
  - ReflectionParameter::__toString — 文字列に変換する
- ReflectionProperty — ReflectionProperty クラス
  - ReflectionProperty::__clone — クローンする
  - ReflectionProperty::__construct — ReflectionProperty オブジェクトを作成する
  - ReflectionProperty::export — エクスポートする
  - ReflectionProperty::getDeclaringClass — 宣言しているクラスを取得する
  - ReflectionProperty::getDocComment — プロパティのドキュメントコメントを取得する
  - ReflectionProperty::getModifiers — Gets the property modifiers
  - ReflectionProperty::getName — プロパティ名を取得する
  - ReflectionProperty::getValue — 値を取得する
  - ReflectionProperty::isDefault — デフォルトプロパティであるかどうかを調べる
  - ReflectionProperty::isPrivate — private プロパティであるかどうかを調べる
  - ReflectionProperty::isProtected — protected プロパティであるかどうかを調べる
  - ReflectionProperty::isPublic — public プロパティであるかどうかを調べる
  - ReflectionProperty::isStatic — 静的プロパティであるかどうかを調べる
  - ReflectionProperty::setAccessible — プロパティのアクセス範囲を設定する
  - ReflectionProperty::setValue — プロパティの値を設定する
  - ReflectionProperty::__toString — 文字列に変換する
- ReflectionType — The ReflectionType class
  - ReflectionType::allowsNull — Checks if null is allowed
  - ReflectionType::isBuiltin — Checks if it is a built-in type
  - ReflectionType::__toString — To string
- ReflectionGenerator — The ReflectionGenerator class
  - ReflectionGenerator::__construct — Constructs a ReflectionGenerator object
  - ReflectionGenerator::getExecutingFile — Gets the file name of the currently executing generator
  - ReflectionGenerator::getExecutingGenerator — Gets the executing Generator object
  - ReflectionGenerator::getExecutingLine — Gets the currently executing line of the generator
  - ReflectionGenerator::getFunction — Gets the function name of the generator
  - ReflectionGenerator::getThis — Gets the $this value of the generator
  - ReflectionGenerator::getTrace — Gets the trace of the executing generator
- Reflector — Reflector インターフェイス
  - Reflector::export — エクスポートする
  - Reflector::__toString — 文字列に変換する
- ReflectionException — ReflectionException クラス