autoload_005.phpt 825 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. --TEST--
  2. ZE2 Autoload from destructor
  3. --SKIPIF--
  4. <?php
  5. if (class_exists('autoload_root', false)) die('skip Autoload test classes exist already');
  6. ?>
  7. --FILE--
  8. <?php
  9. spl_autoload_register(function ($class_name) {
  10. var_dump(class_exists($class_name, false));
  11. require_once(dirname(__FILE__) . '/' . $class_name . '.p5c');
  12. echo 'autoload(' . $class_name . ")\n";
  13. });
  14. var_dump(class_exists('autoload_derived', false));
  15. var_dump(class_exists('autoload_derived', false));
  16. class Test
  17. {
  18. function __destruct() {
  19. echo __METHOD__ . "\n";
  20. $o = new autoload_derived;
  21. var_dump($o);
  22. }
  23. }
  24. $o = new Test;
  25. unset($o);
  26. ?>
  27. ===DONE===
  28. --EXPECTF--
  29. bool(false)
  30. bool(false)
  31. Test::__destruct
  32. bool(false)
  33. bool(false)
  34. autoload(autoload_root)
  35. autoload(autoload_derived)
  36. object(autoload_derived)#%d (0) {
  37. }
  38. ===DONE===