lsb_005.phpt 722 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. --TEST--
  2. ZE2 Late Static Binding stacking static calleds
  3. --FILE--
  4. <?php
  5. class TestA {
  6. public static function test() {
  7. echo get_class(new static()) . "\n";
  8. TestB::test();
  9. echo get_class(new static()) . "\n";
  10. TestC::test();
  11. echo get_class(new static()) . "\n";
  12. TestBB::test();
  13. echo get_class(new static()) . "\n";
  14. }
  15. }
  16. class TestB {
  17. public static function test() {
  18. echo get_class(new static()) . "\n";
  19. TestC::test();
  20. echo get_class(new static()) . "\n";
  21. }
  22. }
  23. class TestC {
  24. public static function test() {
  25. echo get_class(new static()) . "\n";
  26. }
  27. }
  28. class TestBB extends TestB {
  29. }
  30. TestA::test();
  31. ?>
  32. ==DONE==
  33. --EXPECT--
  34. TestA
  35. TestB
  36. TestC
  37. TestB
  38. TestA
  39. TestC
  40. TestA
  41. TestBB
  42. TestC
  43. TestBB
  44. TestA
  45. ==DONE==