PageRenderTime 39ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/hphp/test/zend/bad/ext/reflection/tests/ReflectionClass_getInterfaces_001.php

http://github.com/facebook/hiphop-php
PHP | 38 lines | 31 code | 6 blank | 1 comment | 0 complexity | 75996bec78d104f50a0ca6351e5e5622 MD5 | raw file
Possible License(s): LGPL-2.1, BSD-2-Clause, BSD-3-Clause, MPL-2.0-no-copyleft-exception, MIT, LGPL-2.0, Apache-2.0
  1. <?php
  2. class A0 {}
  3. class B0 extends A0 {}
  4. abstract class A1 {}
  5. class B1 extends A1 {}
  6. interface I0 {}
  7. interface I1 {}
  8. interface I2 {}
  9. interface I3 {}
  10. interface I4 extends I3 {}
  11. interface I5 extends I4 {}
  12. interface I6 extends I5, I1, I2 {}
  13. interface I7 extends I6 {}
  14. class C0 implements I0 {}
  15. class C1 implements I1, I3 {}
  16. class C2 extends C1 {}
  17. class C3 extends C2 implements I1 {}
  18. class C4 extends C3 implements I2 {}
  19. class C5 extends C4 implements I7 {}
  20. class C6 implements I1, I2, I3, I4, I5, I6, I7 {}
  21. $classes = array( 'A0', 'A1', 'B0', 'B1',
  22. 'I0', 'I1', 'I2', 'I3', 'I4', 'I5', 'I6', 'I7',
  23. 'C0', 'C1', 'C2', 'C3', 'C4', 'C5', 'C6' );
  24. foreach ($classes as $class) {
  25. echo "---( Interfaces implemented by $class )---\n ";
  26. $rc = new ReflectionClass($class);
  27. $interfaces = $rc->getInterfaces();
  28. // Sort interfaces so that tests do not fail because of wrong order.
  29. ksort($interfaces);
  30. print_r($interfaces);
  31. }
  32. ?>