123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311 |
- --TEST--
- ReflectionClass::getInterfaces()
- --CREDITS--
- Robin Fernandes <robinf@php.net>
- Steve Seear <stevseea@php.net>
- --FILE--
- <?php
- class A0 {}
- class B0 extends A0 {}
- abstract class A1 {}
- class B1 extends A1 {}
- interface I0 {}
- interface I1 {}
- interface I2 {}
- interface I3 {}
- interface I4 extends I3 {}
- interface I5 extends I4 {}
- interface I6 extends I5, I1, I2 {}
- interface I7 extends I6 {}
- class C0 implements I0 {}
- class C1 implements I1, I3 {}
- class C2 extends C1 {}
- class C3 extends C2 implements I1 {}
- class C4 extends C3 implements I2 {}
- class C5 extends C4 implements I7 {}
- class C6 implements I1, I2, I3, I4, I5, I6, I7 {}
- $classes = array( 'A0', 'A1', 'B0', 'B1',
- 'I0', 'I1', 'I2', 'I3', 'I4', 'I5', 'I6', 'I7',
- 'C0', 'C1', 'C2', 'C3', 'C4', 'C5', 'C6' );
- foreach ($classes as $class) {
- echo "---( Interfaces implemented by $class )---\n ";
- $rc = new ReflectionClass($class);
- $interfaces = $rc->getInterfaces();
- // Sort interfaces so that tests do not fail because of wrong order.
- ksort($interfaces);
- print_r($interfaces);
- }
- ?>
- --EXPECT--
- ---( Interfaces implemented by A0 )---
- Array
- (
- )
- ---( Interfaces implemented by A1 )---
- Array
- (
- )
- ---( Interfaces implemented by B0 )---
- Array
- (
- )
- ---( Interfaces implemented by B1 )---
- Array
- (
- )
- ---( Interfaces implemented by I0 )---
- Array
- (
- )
- ---( Interfaces implemented by I1 )---
- Array
- (
- )
- ---( Interfaces implemented by I2 )---
- Array
- (
- )
- ---( Interfaces implemented by I3 )---
- Array
- (
- )
- ---( Interfaces implemented by I4 )---
- Array
- (
- [I3] => ReflectionClass Object
- (
- [name] => I3
- )
- )
- ---( Interfaces implemented by I5 )---
- Array
- (
- [I3] => ReflectionClass Object
- (
- [name] => I3
- )
- [I4] => ReflectionClass Object
- (
- [name] => I4
- )
- )
- ---( Interfaces implemented by I6 )---
- Array
- (
- [I1] => ReflectionClass Object
- (
- [name] => I1
- )
- [I2] => ReflectionClass Object
- (
- [name] => I2
- )
- [I3] => ReflectionClass Object
- (
- [name] => I3
- )
- [I4] => ReflectionClass Object
- (
- [name] => I4
- )
- [I5] => ReflectionClass Object
- (
- [name] => I5
- )
- )
- ---( Interfaces implemented by I7 )---
- Array
- (
- [I1] => ReflectionClass Object
- (
- [name] => I1
- )
- [I2] => ReflectionClass Object
- (
- [name] => I2
- )
- [I3] => ReflectionClass Object
- (
- [name] => I3
- )
- [I4] => ReflectionClass Object
- (
- [name] => I4
- )
- [I5] => ReflectionClass Object
- (
- [name] => I5
- )
- [I6] => ReflectionClass Object
- (
- [name] => I6
- )
- )
- ---( Interfaces implemented by C0 )---
- Array
- (
- [I0] => ReflectionClass Object
- (
- [name] => I0
- )
- )
- ---( Interfaces implemented by C1 )---
- Array
- (
- [I1] => ReflectionClass Object
- (
- [name] => I1
- )
- [I3] => ReflectionClass Object
- (
- [name] => I3
- )
- )
- ---( Interfaces implemented by C2 )---
- Array
- (
- [I1] => ReflectionClass Object
- (
- [name] => I1
- )
- [I3] => ReflectionClass Object
- (
- [name] => I3
- )
- )
- ---( Interfaces implemented by C3 )---
- Array
- (
- [I1] => ReflectionClass Object
- (
- [name] => I1
- )
- [I3] => ReflectionClass Object
- (
- [name] => I3
- )
- )
- ---( Interfaces implemented by C4 )---
- Array
- (
- [I1] => ReflectionClass Object
- (
- [name] => I1
- )
- [I2] => ReflectionClass Object
- (
- [name] => I2
- )
- [I3] => ReflectionClass Object
- (
- [name] => I3
- )
- )
- ---( Interfaces implemented by C5 )---
- Array
- (
- [I1] => ReflectionClass Object
- (
- [name] => I1
- )
- [I2] => ReflectionClass Object
- (
- [name] => I2
- )
- [I3] => ReflectionClass Object
- (
- [name] => I3
- )
- [I4] => ReflectionClass Object
- (
- [name] => I4
- )
- [I5] => ReflectionClass Object
- (
- [name] => I5
- )
- [I6] => ReflectionClass Object
- (
- [name] => I6
- )
- [I7] => ReflectionClass Object
- (
- [name] => I7
- )
- )
- ---( Interfaces implemented by C6 )---
- Array
- (
- [I1] => ReflectionClass Object
- (
- [name] => I1
- )
- [I2] => ReflectionClass Object
- (
- [name] => I2
- )
- [I3] => ReflectionClass Object
- (
- [name] => I3
- )
- [I4] => ReflectionClass Object
- (
- [name] => I4
- )
- [I5] => ReflectionClass Object
- (
- [name] => I5
- )
- [I6] => ReflectionClass Object
- (
- [name] => I6
- )
- [I7] => ReflectionClass Object
- (
- [name] => I7
- )
- )
|