downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

ReflectionMethod::invokeArgs> <ReflectionMethod::getPrototype
[edit] Last updated: Fri, 25 May 2012

view this page in

ReflectionMethod::invoke

(PHP 5)

ReflectionMethod::invokeInvoque

Description

public mixed ReflectionMethod::invoke ( object $object [, mixed $parameter [, mixed $... ]] )

Invoque une méthode reflétée.

Liste de paramètres

object

L'objet sur lequel invoquer la méthode. Pour les méthodes statiques, vous pouvez passer null comme paramètre.

parameter

Paramètres à passer à la méthode. Une liste variable de paramètres à passer est utilisée.

Valeurs de retour

Retourne le résultat de la méthode.

Erreurs / Exceptions

Une ReflectionException si object n'est pas une instance de la classe possédant la méthode réfléchie.

Une ReflectionException si l'invocation de la méthode échoue.

Exemples

Exemple #1 Exemple avec ReflectionMethod::invoke()

<?php
class HelloWorld {

    public function 
sayHelloTo($name) {
        return 
'Hello ' $name;
    }

}

$reflectionMethod = new ReflectionMethod('HelloWorld''sayHelloTo');
echo 
$reflectionMethod->invoke(new HelloWorld(), 'Mike');
?>

L'exemple ci-dessus va afficher :

Hello Mike

Notes

Note:

Si la fonction a des arguments qui ont besoin d'être des références, alors ils doivent être passés par références dans la liste des arguments.

Voir aussi



add a note add a note User Contributed Notes ReflectionMethod::invoke
templargrey at wp dot pl 21-Jul-2011 03:12
Seems that Reflection doesn`t resolve late static bindings - var_dump will show "string 'a' (length=1)".

<?php
class ParentClass { protected static $a = 'a'; static public function init() { return static::$a; } }
class
ChildClass extends ParentClass { protected static $a = 'b'; }
   
$r = new ReflectionClass('ChildClass');
var_dump($r->getMethod('init')->invoke(null));
?>
rojaro at gmail dot com 10-Feb-2011 02:56
Note: If you want to invoke protected or private methods, you'll first have to make them accessible using the setAccessible() method (see http://php.net/reflectionmethod.setaccessible ).

 
show source | credits | sitemap | contact | advertising | mirror sites