完全不清楚如何确定方法是否有原型。
示例:
<?php
class MyClass
{
public function foo()
{
}
}
$refl = new ReflectionClass('MyClass');
var_dump($refl->getMethod('foo')->getPrototype());
PHP 5.1.2的输出 - 5.5.5 :
致命错误:带有消息的未捕获异常'ReflectionException' '方法MyClass :: foo没有原型'...
我想为我的ReflectionMethod包装器实现bool ReflectionMethod::hasPrototype( void )
之类的东西。
有什么想法吗?
答案 0 :(得分:2)
getPrototype
,因此将其转换为布尔值很简单:
public function hasPrototype()
{
try {
$this->getPrototype();
return true;
}
catch (\ReflectionException $e) {
return false;
}
}