inheritance_005.phpt 956 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. --TEST--
  2. Check for inherited old-style constructor.
  3. --FILE--
  4. <?php
  5. class A
  6. {
  7. function A()
  8. {
  9. echo "In " . __METHOD__ . "\n";
  10. }
  11. }
  12. class B extends A
  13. {
  14. }
  15. class C extends B
  16. {
  17. }
  18. echo "About to construct new B: \n";
  19. $b = new B;
  20. echo "Is B::B() callable?\n";
  21. var_dump(is_callable(array($b, "B")));
  22. echo "Is B::A() callable?\n";
  23. var_dump(is_callable(array($b, "A")));
  24. echo "About to construct new C: \n";
  25. $c = new C;
  26. echo "Is C::A() callable?\n";
  27. var_dump(is_callable(array($c, "A")));
  28. echo "Is C::B() callable?\n";
  29. var_dump(is_callable(array($c, "B")));
  30. echo "Is C::C() callable?\n";
  31. var_dump(is_callable(array($c, "C")));
  32. ?>
  33. --EXPECTF--
  34. About to construct new B:
  35. In A::A
  36. Is B::B() callable?
  37. bool(false)
  38. Is B::A() callable?
  39. bool(true)
  40. About to construct new C:
  41. In A::A
  42. Is C::A() callable?
  43. bool(true)
  44. Is C::B() callable?
  45. bool(false)
  46. Is C::C() callable?
  47. bool(false)