2010-08-02 20 views
43

php gibi bir nesne için mevcut tüm yöntemleri kontrol edebilirim:PHP: Yöntemin argümanlarını alın?

$methods = get_class_methods($object); 

Ancak bu yöntemlere hangi argümanların gönderilmesi gerektiğini görebilirim?

Bunun için bir işlev var mı?

cevap

88

Sen reflection ...

$r = new ReflectionMethod($className, $methodName); 
$params = $r->getParameters(); 
foreach ($params as $param) { 
    //$param is an instance of ReflectionParameter 
    echo $param->getName(); 
    echo $param->isOptional(); 
} 
+1

Teşekkür bir demet :) – Rakward

+3

kullanabilirsiniz Ve edebilirsiniz. net/manual/tr/reflectionfunctionabstract.getnumberofrequiredparameters.php – bastey

+1

Neyin argüman olarak kabul edileceğini başarılı bir şekilde döndürmek için var mı? Örneğin, bir dize kabul ederse, kabul edilen dizeleri listeleyebilir mi? –