bug74053.phpt 655 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. --TEST--
  2. Bug #74053 (Corrupted class entries on shutdown when a destructor spawns another object)
  3. --FILE--
  4. <?php
  5. class b {
  6. function __destruct() {
  7. echo "b::destruct\n";
  8. }
  9. }
  10. class a {
  11. static $b;
  12. static $new;
  13. static $max = 10;
  14. function __destruct() {
  15. if (self::$max-- <= 0) return;
  16. echo "a::destruct\n";
  17. self::$b = new b;
  18. self::$new[] = new a;
  19. }
  20. }
  21. new a;
  22. ?>
  23. --EXPECT--
  24. a::destruct
  25. b::destruct
  26. a::destruct
  27. b::destruct
  28. a::destruct
  29. b::destruct
  30. a::destruct
  31. b::destruct
  32. a::destruct
  33. b::destruct
  34. a::destruct
  35. b::destruct
  36. a::destruct
  37. b::destruct
  38. a::destruct
  39. b::destruct
  40. a::destruct
  41. b::destruct
  42. a::destruct
  43. b::destruct