根据定义,实现接口意味着您必须ALL
在子类中定义方法,因此您要查找的是ALL
接口中的方法。
单接口:
$interface = class_implements('Foo');
$methods_implemented = get_class_methods(array_shift($interface));
var_dump($methods_implemented);
输出:
array (size=1)
0 => string 'bar' (length=3)
多个接口:
$interfaces = class_implements('Foo');
$methods_implemented = array();
foreach($interfaces as $interface) {
$methods_implemented = array_merge($methods_implemented, get_class_methods($interface));
}
var_dump($methods_implemented);
输出:
array (size=2)
0 => string 'bar' (length=3)
1 => string 'ubar' (length=4)
uFoo
为您的示例添加了界面:
interface uFoo {
public function ubar();
}
interface iFoo
{
public function bar();
}
class Foo implements iFoo, uFoo
{
public function bar()
{
}
public function fooBar()
{
}
public function ubar(){}
}