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 Quote Link to comment 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.