lsb_005.phpt 788 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. --EXPECT--
  33. TestA
  34. TestB
  35. TestC
  36. TestB
  37. TestA
  38. TestC
  39. TestA
  40. TestBB
  41. TestC
  42. TestBB
  43. TestA