查询

ReflectionMethod::invoke()函数—用法及示例

「 调用类的方法 」


函数名称:ReflectionMethod::invoke() 

适用版本:PHP 5, PHP 7

函数说明:ReflectionMethod::invoke() 方法用于调用类的方法。

用法:

public mixed ReflectionMethod::invoke ( object|null $object , mixed ...$args )

参数:

  • $object:可选参数,指定要调用方法的对象实例。
  • $args:可选参数,传递给方法的参数列表。

返回值:

  • 调用方法的返回值。

示例:

class MyClass {
    public function myMethod($param1, $param2) {
        return $param1 + $param2;
    }
}

$reflectionMethod = new ReflectionMethod('MyClass', 'myMethod');
$obj = new MyClass();

// 调用方法并传递参数
$result = $reflectionMethod->invoke($obj, 2, 3);
echo $result; // 输出: 5

在上面的示例中,我们定义了一个名为MyClass的类,其中包含一个名为myMethod的方法。我们使用ReflectionMethod类创建了一个反射方法对象$reflectionMethod,并传递了类名和方法名作为参数。然后,我们创建了一个MyClass类的实例$obj

使用invoke()方法,我们可以调用myMethod方法,并传递参数23。最后,我们将方法的返回值5输出到屏幕上。

注意:在调用非静态方法时,需要先创建类的实例对象,并将该实例对象作为第一个参数传递给invoke()方法。如果要调用静态方法,则不需要传递实例对象。

补充纠错
热门PHP函数
分享链接