class_implements_basic2.phpt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. --TEST--
  2. SPL: Test class_implements() function : basic
  3. --FILE--
  4. <?php
  5. /* Prototype : array class_implements(mixed what [, bool autoload ])
  6. * Description: Return all classes and interfaces implemented by SPL
  7. * Source code: ext/spl/php_spl.c
  8. * Alias to functions:
  9. */
  10. echo "*** Testing class_implements() : basic ***\n";
  11. interface foo { }
  12. class fooImpl implements foo {}
  13. interface bar { }
  14. class barImpl implements bar {}
  15. class foobarImpl implements foo, bar {}
  16. class fooViaBarImpl extends barImpl implements foo {}
  17. class fooExtended extends fooImpl {}
  18. s_var_dump(class_implements(new foobarImpl));
  19. s_var_dump(class_implements('foobarImpl'));
  20. s_var_dump(class_implements(new fooViaBarImpl));
  21. s_var_dump(class_implements('fooViaBarImpl'));
  22. s_var_dump(class_implements(new fooExtended));
  23. s_var_dump(class_implements('fooExtended'));
  24. function s_var_dump($arr) {
  25. krsort($arr);
  26. var_dump($arr);
  27. }
  28. ?>
  29. ===DONE===
  30. --EXPECT--
  31. *** Testing class_implements() : basic ***
  32. array(2) {
  33. ["foo"]=>
  34. string(3) "foo"
  35. ["bar"]=>
  36. string(3) "bar"
  37. }
  38. array(2) {
  39. ["foo"]=>
  40. string(3) "foo"
  41. ["bar"]=>
  42. string(3) "bar"
  43. }
  44. array(2) {
  45. ["foo"]=>
  46. string(3) "foo"
  47. ["bar"]=>
  48. string(3) "bar"
  49. }
  50. array(2) {
  51. ["foo"]=>
  52. string(3) "foo"
  53. ["bar"]=>
  54. string(3) "bar"
  55. }
  56. array(1) {
  57. ["foo"]=>
  58. string(3) "foo"
  59. }
  60. array(1) {
  61. ["foo"]=>
  62. string(3) "foo"
  63. }
  64. ===DONE===