ReflectionClass::newInstanceArgs
(PHP 5 >= 5.1.3, PHP 7)
ReflectionClass::newInstanceArgs — 指定した引数でクラスの新しいインスタンスを作成する
説明
public ReflectionClass::newInstanceArgs
([ array $args
] ) : object
クラスの新しいインスタンスを作成します。指定した引数をクラスのコンストラクタに渡します。
パラメータ
args
- クラスのコンストラクタに渡すパラメータを配列で指定します。
返り値
クラスの新しいインスタンスを返します。
例
例1 ReflectionClass::newInstanceArgs() の基本的な使用例
<?php$class = new ReflectionClass('ReflectionFunction');$instance = $class->newInstanceArgs(array('substr'));var_dump($instance);?>
上の例の出力は以下となります。
object(ReflectionFunction)#2 (1) { ["name"]=> string(6) "substr" }
エラー / 例外
コンストラクタが public でない場合は ReflectionException が発生します。
クラスにコンストラクタがないときに args
を指定すると
ReflectionException が発生します。
参考
- ReflectionClass::newInstance() - 指定した引数でクラスの新しいインスタンスを作成する
- ReflectionClass::newInstanceWithoutConstructor() - コンストラクタを起動せずに新しいクラスのインスタンスを作成する