autoload_005.phpt 805 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  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(__DIR__ . '/' . $class_name . '.inc');
  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. --EXPECTF--
  28. bool(false)
  29. bool(false)
  30. Test::__destruct
  31. bool(false)
  32. bool(false)
  33. autoload(autoload_root)
  34. autoload(autoload_derived)
  35. object(autoload_derived)#%d (0) {
  36. }