anon_class_name.phpt 736 B

123456789101112131415161718192021222324252627282930
  1. --TEST--
  2. Generated names for anonymous classes
  3. --FILE--
  4. <?php
  5. namespace DeclaringNS {
  6. class Test1 {}
  7. interface Test2 {}
  8. interface Test3 {}
  9. }
  10. namespace UsingNS {
  11. function print_name(object $obj) {
  12. echo strstr(get_class($obj), "\0", true), "\n";
  13. }
  14. print_name(new class {});
  15. print_name(new class extends \DeclaringNS\Test1 {});
  16. print_name(new class extends \DeclaringNS\Test1 implements \DeclaringNS\Test2 {});
  17. print_name(new class implements \DeclaringNS\Test2 {});
  18. print_name(new class implements \DeclaringNS\Test2, \DeclaringNS\Test3 {});
  19. }
  20. ?>
  21. --EXPECT--
  22. class@anonymous
  23. DeclaringNS\Test1@anonymous
  24. DeclaringNS\Test1@anonymous
  25. DeclaringNS\Test2@anonymous
  26. DeclaringNS\Test2@anonymous