bug71202.phpt 693 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. --TEST--
  2. Bug #71202 (Autoload function registered by another not activated immediately)
  3. --FILE--
  4. <?php
  5. function inner_autoload ($name){
  6. if ($name == 'A') {
  7. class A {
  8. function __construct(){
  9. echo "okey, ";
  10. }
  11. }
  12. } else {
  13. class B {
  14. function __construct() {
  15. die("error");
  16. }
  17. }
  18. }
  19. }
  20. spl_autoload_register(function ($name) {
  21. if ($name == 'A') {
  22. spl_autoload_register("inner_autoload");
  23. } else {
  24. spl_autoload_unregister("inner_autoload");
  25. }
  26. });
  27. $c = new A();
  28. try {
  29. $c = new B();
  30. } catch (Error $e) {
  31. echo "done";
  32. }
  33. ?>
  34. --EXPECT--
  35. okey, done