介面名稱似乎是以定義的順序列出的
- 「extends」(繼承)的優先順序高於「implements」(實作)(也就是說,首先會列出(在)父類別(如果有的話)中實作的介面,然後才是類別本身實作的介面)
- 當一次/同一層級實作多個介面時,可能是
+ 來自「implements」:它們會以定義的順序列出
+ 來自「extends」(一個類別繼承另一個實作多個介面的類別;或一個介面繼承多個介面):它們會以**相反**的順序列出
<?php
介面 Foo {}
介面 Bar {}
介面 Other {}
介面 Foobar 延伸 Foo, Bar {}
介面 Barfoo 延伸 Bar, Foo {}
類別 Test1 實作 Foo, Bar {}
類別 Test2 實作 Bar, Foo {}
類別 Test3 延伸 Test1 {}
類別 Test4 延伸 Test2 {}
類別 Test5 延伸 Test1 實作 Other {}
類別 Test6 實作 Foobar, Other {}
類別 TestO 實作 Other {}
類別 Test7 延伸 TestO 實作 Barfoo {}
$r=新 ReflectionClass('Test1');
print_r($r->getInterfaceNames()); $r=新 ReflectionClass('Test2');
print_r($r->getInterfaceNames()); $r=新 ReflectionClass('Test3');
print_r($r->getInterfaceNames()); $r=新 ReflectionClass('Test4');
print_r($r->getInterfaceNames()); $r=新 ReflectionClass('Test5');
print_r($r->getInterfaceNames()); $r=新 ReflectionClass('Test6');
print_r($r->getInterfaceNames()); $r=新 ReflectionClass('Test7');
print_r($r->getInterfaceNames()); ?>