ReflectionMethod::invokeArgs
(PHP 5 >= 5.1.2, PHP 7)
ReflectionMethod::invokeArgs — 実行する
説明
public ReflectionMethod::invokeArgs
( object $object
, array $args
) : mixed
リフレクション対象のメソッドを実行し、その引数を配列として渡します。
パラメータ
object
- メソッドを実行するオブジェクト。静的メソッドを実行する場合は、このパラメータには null を渡すことができます。
args
- メソッドに渡すパラメータを配列で指定します。
返り値
メソッドの結果を返します。
エラー / 例外
メソッドが宣言されているクラスのインスタンス以外を object
パラメータで指定すると ReflectionException が発生します。
メソッドの実行に失敗すると ReflectionException が発生します。
例
例1 ReflectionMethod::invokeArgs() の例
<?phpclass HelloWorld { public function sayHelloTo($name) { return 'Hello ' . $name; }}$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');echo $reflectionMethod->invokeArgs(new HelloWorld(), array('Mike'));?>
上の例の出力は以下となります。
Hello Mike
注意
注意:
関数の引数の中に参照渡しを要するものがある場合は、 渡す引数の中でも参照にしておく必要があります。
参考
- ReflectionMethod::invoke() - 実行する
- __invoke()
- call_user_func_array() - パラメータの配列を指定してコールバック関数をコールする