ReflectionMethod::invokeArgs
(PHP 5 >= 5.1.2, PHP 7, PHP 8)
Invoke args
Description
Invokes the reflected method and pass its arguments as array.
Parameters
objectThe object to invoke the method on. In case of static methods, you can pass
nullto this parameter.argsThe parameters to be passed to the method, as an
array.If the keys of
argsare all numeric, the keys are ignored and each element is passed to the method as a positional argument, in order.If any keys of
argsare strings, those elements are passed to the method as named arguments, with the name given by the key.An
Erroris thrown if a numeric key inargsappears after a string key, or if a string key does not match the name of any parameter of the method.
Return Values
Returns the method result.
Errors/Exceptions
A ReflectionException if the object parameter does not contain an instance of the class that this method was declared in.
A ReflectionException if the method invocation failed.
Changelog
| Version | Description |
|---|---|
| 8.0.0 | args keys will now be interpreted as parameter names, instead of being silently ignored. |
Examples
ReflectionMethod::invokeArgs example
<?php
class HelloWorld {
public function sayHelloTo($name) {
return 'Hello ' . $name;
}
}
$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
echo $reflectionMethod->invokeArgs(new HelloWorld(), array('Mike'));
?>The above example will output:
Hello MikeNotes
Reference
See Also
ReflectionMethod::invoke- __invoke()
call_user_func_array()