(PHP 5 >= 5.1.2, PHP 7, PHP 8)
ReflectionMethod::invokeArgs — Invoca los argumentos
Invoca el método reflejado y le pasa los argumentos en forma de array.
objectEl objeto sobre el cual invocar el método. Si el método es estático, puede pasarse null para este argumento.
argsLos parámetros a pasar al método, como un array.
Si todas las claves de args son numéricas, estas se ignoran
y cada elemento se pasa al método como argumento posicional, en orden.
Si alguna de las claves de args es una cadena, esos elementos
se pasan al método como argumentos con nombre, usando la clave como nombre.
Se lanza un Error si una clave numérica en
args aparece después de una clave de cadena, o si una clave
de cadena no coincide con el nombre de ningún parámetro del método.
Devuelve el resultado del método.
Una ReflectionException si object
no es una instancia de la clase prevista para este método.
Una ReflectionException si la invocación del método falla.
| Versión | Descripción |
|---|---|
| 8.0.0 |
Las claves de args serán interpretadas
como los nombres de los argumentos, en lugar de ser ignoradas silenciosamente.
|
Ejemplo #1 Ejemplo para ReflectionMethod::invokeArgs()
<?php
class HelloWorld {
public function sayHelloTo($name) {
return 'Hello ' . $name;
}
}
$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
echo $reflectionMethod->invokeArgs(new HelloWorld(), array('Mike'));
?>El ejemplo anterior mostrará:
Hello Mike
Nota:
Si la función tiene argumentos que necesitan ser referencias, entonces deben ser pasados por referencia en la lista de argumentos.