2010-08-02 93 views
43

在PHP中,我可以检查所有可用的方法为对象,像这样:PHP:获取方法的参数?

$methods = get_class_methods($object); 

但我怎么能看到至极参数必须发送这些方法?

有没有这个功能?

回答

88

您可以使用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

多谢:) – Rakward 2010-08-02 18:31:17

+3

而当你只是想知道有多少参数的要求,使用'getNumberOfRequiredParameters' HTTP://www.php。 net/manual/en/reflectionfunctionabstract.getnumberofrequiredparameters.php – bastey 2013-09-02 14:53:05

+1

有没有办法返回成功接受的参数?例如,如果它接受一个字符串,列出接受的字符串? – 2014-03-10 17:28:30