spl_003.phpt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. --TEST--
  2. SPL: class_parents() and class_implements()
  3. --FILE--
  4. <?php
  5. spl_autoload_register(function ($cname) {
  6. var_dump($cname);
  7. });
  8. class a{}
  9. class b extends a{}
  10. class c extends b{}
  11. class d{}
  12. var_dump(class_parents(new c),
  13. class_parents("c"),
  14. class_parents(new b),
  15. class_parents("b"),
  16. class_parents("d"),
  17. class_parents("foo", 0),
  18. class_parents("foo", 1)
  19. );
  20. interface iface1{}
  21. interface iface2{}
  22. class f implements iface1, iface2{}
  23. var_dump(class_implements(new a),
  24. class_implements("a"),
  25. class_implements("aaa"),
  26. class_implements("bbb", 0)
  27. );
  28. ?>
  29. --EXPECTF--
  30. Warning: class_parents(): Class foo does not exist in %sspl_003.php on line %d
  31. string(3) "foo"
  32. Warning: class_parents(): Class foo does not exist and could not be loaded in %sspl_003.php on line %d
  33. array(2) {
  34. ["b"]=>
  35. string(1) "b"
  36. ["a"]=>
  37. string(1) "a"
  38. }
  39. array(2) {
  40. ["b"]=>
  41. string(1) "b"
  42. ["a"]=>
  43. string(1) "a"
  44. }
  45. array(1) {
  46. ["a"]=>
  47. string(1) "a"
  48. }
  49. array(1) {
  50. ["a"]=>
  51. string(1) "a"
  52. }
  53. array(0) {
  54. }
  55. bool(false)
  56. bool(false)
  57. string(3) "aaa"
  58. Warning: class_implements(): Class aaa does not exist and could not be loaded in %sspl_003.php on line %d
  59. Warning: class_implements(): Class bbb does not exist in %sspl_003.php on line %d
  60. array(0) {
  61. }
  62. array(0) {
  63. }
  64. bool(false)
  65. bool(false)