vurentjie Posted April 21, 2009 Share Posted April 21, 2009 hi, i am fiddling with the php reflection classes today, i was wondering what the first argument to method->invoke would do... class Greet{ final public static function saystuff($hi,$bye){ return $hi." and ".$bye; } } $method = new ReflectionMethod('Greet','saystuff'); echo $method->invoke(NULL,"hallo","tchuss"); echo $method->invoke('anythinggoes',"hallo","tchuss"); ? ...EDIT...nevermind I just figured it out - it has to do with calling static method or non-static method, class Greet{ public function saystuff($hi,$bye){ return $hi." and ".$bye; } } $greeting = new Gree(); $method = new ReflectionMethod('Greet','saystuff'); echo $method->invoke(NULL,"hallo","tchuss"); //exception echo $method->invoke($greeting,"hallo","tchuss"); //will work Link to comment https://forums.phpfreaks.com/topic/155058-method-invoke/ Share on other sites More sharing options...
radi8 Posted April 21, 2009 Share Posted April 21, 2009 per the site: http://nz.php.net/oop5.reflection (about halfway down) For static methods, you should pass NULL as the first argument to invoke(). For non-static methods, pass an instance of the class. So, your example would probably trigger an exception. Link to comment https://forums.phpfreaks.com/topic/155058-method-invoke/#findComment-815552 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.