例如,有Foo类对象.不是try-catch表达式
class Foo {
function Bar($a){
}
}
$foo = new Foo();
if(hasRequiredParams(Object $foo, MethodName 'Bar')){
do something;
}
Run Code Online (Sandbox Code Playgroud)
你可以用反射做到这一点:
class Foo {
function Bar($a) {
}
}
$rc = new ReflectionClass('Foo');
$rm = $rc->getMethod('Bar');
var_dump($rm->getNumberOfRequiredParameters()); // 1
Run Code Online (Sandbox Code Playgroud)
但是,仅仅因为你可以这样做,这并不意味着你应该这样做.可能有理由需要在运行时检查方法签名,但在大多数情况下,您不应将此应用程序逻辑基于此信息.
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |