ReflectionMethod::invokeArgs
PHP Manual
PHP Manual»ReflectionMethod»ReflectionMethod::invokeArgs

ReflectionMethod::invokeArgs

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

ReflectionMethod::invokeArgs — Invoke args

Beschreibung

public function ReflectionMethod::invokeArgs(?object $object, array $args): mixed

Invokes the reflected method and pass its arguments as array.

Parameter-Liste

object

The object to invoke the method on. In case of static methods, you can pass null to this parameter.

args

The parameters to be passed to the method, as an array.

If the keys of args are all numeric, the keys are ignored and each element is passed to the method as a positional argument, in order.

If any keys of args are strings, those elements are passed to the method as named arguments, with the name given by the key.

An Error is thrown if a numeric key in args appears after a string key, or if a string key does not match the name of any parameter of the method.

Rückgabewerte

Returns the method result.

Fehler/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 Beschreibung
8.0.0 args keys will now be interpreted as parameter names, instead of being silently ignored.

Beispiele

Beispiel #1 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'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hello Mike

Anmerkungen

Hinweis:

Wenn die Funktion einige Argumente per Referenz akzeptiert, so müssen diese als Referenzen in die Argument-Liste gegeben werden.

Siehe auch

To Top