PHP ReflectionMethod::invoke 反射函数

  • 定义和用法

    ReflectionMethod::invoke - 返回方法原型 (如果存在)
  • 版本支持

    PHP4 PHP5 PHP7
    不支持 支持 支持
  • 语法

    ReflectionMethod::invoke( object $object [, mixed $parameter [, mixed $... ]] )
    ReflectionMethod::invoke() 执行一个反射的方法。
  • 参数

    参数 必需的 描述
    object 如果执行的方法是静态类,那么这个参数传送 null。
    parameter 0,或者传送给方法的参数列表。可以通过这个参数,给方法传送大量的参数。
  • 返回值

    返回方法的返回值
    如果 object 并没有包含一个可以使用的类实例,那么将产生 一个 ReflectionException。 如果方法调用失败,也会产生一个 ReflectionException。
  • 示例

    class HelloWorld {
    
        public function sayHelloTo($name) {
            return 'Hello ' . $name;
        }
    
    }
    
    $reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
    echo $reflectionMethod->invoke(new HelloWorld(), 'Mike');
    
    尝试一下
    如果函数有参数需为引用,那么它们必须以引用方式传入。
  • 相关页面

    ReflectionMethod::invokeArgs() - 带参数执行
    call_user_func() - 把第一个参数作为回调函数调用