« ReflectionMethod::hasPrototype
ReflectionMethod::invokeArgs »

ReflectionMethod::invoke

(PHP 5, PHP 7, PHP 8)

ReflectionMethod::invoke — 実行する

説明

public function ReflectionMethod::invoke(?object $object, mixed ...$args): mixed

メソッドを実行します。

パラメータ

object

メソッドを実行するオブジェクト。staticメソッドを実行する場合は、このパラメータには null を渡すことができます。

args

メソッドに渡すパラメータ。可変長のパラメータを渡すことができます。

戻り値

メソッドの結果を返します。

エラー / 例外

メソッドが宣言されているクラスのインスタンス以外を object パラメータで指定すると ReflectionException が発生します。

メソッドの実行に失敗すると ReflectionException が発生します。

例

例1 ReflectionMethod::invoke() の例

<?php
class HelloWorld {

    public function sayHelloTo($name) {
        return 'Hello ' . $name;
    }

}

$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
echo $reflectionMethod->invoke(new HelloWorld(), 'Mike');
?>

上の例の出力は以下となります。

Hello Mike

注意

注意:

ReflectionMethod::invoke() は、 リファレンスが引数に期待されている場合は使えません。 その場合は、(引数リストにリファレンスを渡して) ReflectionMethod::invokeArgs() を代わりに使うべきです。

参考

関連キーワード:
ReflectionMethod   invoke   invokeArgs   HelloWorld   mixed   args   ReflectionException   sayHelloTo   Hello   reflectionMethod   Mike   リファレンス   hasPrototype   static   可変   宣言   インスタンス   return   期待   参考   call   user   func   最初   バック
関連する関数・ページ:
reflectionmethod.invokeargs   reflectionmethod.tostring   reflectionmethod.hasprototype   reflectionmethod.getdeclaringclass   reflectionmethod.getprototype   reflectionmethod.ispublic