Re: Determining an external function/method's argument/parameter listing..?

From: Date: Tue, 12 Jun 2012 18:06:56 +0000
Subject: Re: Determining an external function/method's argument/parameter listing..?
References: 1 2  Groups: php.windows 
Request: Send a blank email to php-windows+get-30910@lists.php.net to get a copy of this message
Ok, thanks for that referral. The following code shows a bit of a simple usage of the reflectionMethod class, on a quickly generated test class and one of it's methods: <?php class myClass { public function __init() { }//end of __init public function anything($sVar1 = "5") { }//end of anything function }//end of myClass $className = "myClass"; $methodName = "anything"; $r = new ReflectionMethod($className, $methodName); $params = $r->getParameters(); echo "<ul>\n"; foreach ($params as $param) { echo "<li><ul>\n"; echo "<li>parameter: " . $param->getName() . "</li>\n"; echo "<li>allowsNull: " . strval($param->allowsNull()) . "</li>\n"; echo "<li>optional: " . strval($param->isOptional()) . "</li>\n"; if ($param->isOptional()) { echo "<li>defaultValue: " . $param->getDefaultValue() . "</li>\n"; } echo "</ul></li>"; } echo "</ul>\n"; ?> Stay well Jacob Kruger Blind Biker Skype: BlindZA '...fate had broken his body, but not his spirit...' ----- Original Message ----- From: "Toby Hart Dyke" <toby@hartdyke.com> To: "'Jacob Kruger'" <jacob@blindza.co.za> Sent: Tuesday, June 12, 2012 5:35 PM Subject: RE: [PHP-WIN] Determining an external function/method's argument/parameter listing..?
You need to take a look at reflection in the PHP manual (http://www.php.net/manual/en/book.reflection.php). From the introduction: "PHP 5 comes with a complete reflection API that adds the ability to reverse-engineer classes, interfaces, functions, methods and extensions. Additionally, the reflection API offers ways to retrieve doc comments for functions, classes and methods." Sounds like what you're looking for. Toby -----Original Message----- From: Jacob Kruger [mailto:jacob@blindza.co.za] Sent: Tuesday, June 12, 2012 10:38 AM To: php-windows@lists.php.net Subject: [PHP-WIN] Determining an external function/method's argument/parameter listing..? If I managed to determine that a ffunction/method exists for an external class, by finding it in the array returned by the get_class_methods('className') function, but, then how would I determine the required/possible parameters for one of those functions/methods..? Inside a function itself you can call something like func_get_args() but that is, I think, meant to return a list of passed arguments/parameters, and can only be called from inside a function itself, whereas, I would like to possibly determine what arguments/parameters a function expects/requires, hopefully then at least being able to derive from the names what types/values they then expect..? In other words, would like to find some way to find out the sort of function definition etc. And, yes, it would be nice to have a look at the source code am referring to, but in this specific case, it seems like it might not be best to ask too many questions...<smile> Stay well Jacob Kruger Blind Biker Skype: BlindZA '...fate had broken his body, but not his spirit...'


« previous php.windows (#30910) next »