bug20240.phpt 670 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. --TEST--
  2. Bug #20240 (order of destructor calls)
  3. --SKIPIF--
  4. <?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
  5. --FILE--
  6. <?php
  7. class test
  8. {
  9. public $member;
  10. function test() {
  11. $this->member = 1;
  12. register_shutdown_function(array($this, 'destructor'));
  13. }
  14. function destructor() {
  15. print __METHOD__ . "\n";
  16. }
  17. function __destruct() {
  18. print __METHOD__ . "\n";
  19. }
  20. function add() {
  21. $this->member += 1;
  22. print $this->member."\n";
  23. }
  24. }
  25. $t = new test();
  26. $t->add();
  27. $t->add();
  28. echo "Done\n";
  29. ?>
  30. --EXPECT--
  31. 2
  32. 3
  33. Done
  34. test::destructor
  35. test::__destruct