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