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

"Jacob Kruger" <[email protected]>
Newsgroups gmane.comp.php.windows
Message-ID <4EA2FBA8BF304C49A103A02CC687CDB3@jakesPC>
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" <[email protected]>
To: "'Jacob Kruger'" <[email protected]>
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:[email protected]]
> Sent: Tuesday, June 12, 2012 10:38 AM
> To: [email protected]
> 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...'
>
> 


-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.