ns_026.phpt 736 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. --TEST--
  2. 026: Name ambiguity (class name & namespace name)
  3. --INI--
  4. opcache.optimization_level=0
  5. --FILE--
  6. <?php
  7. namespace Foo;
  8. class Foo {
  9. function __construct() {
  10. echo "Method - ".__CLASS__."::".__FUNCTION__."\n";
  11. }
  12. static function Bar() {
  13. echo "Method - ".__CLASS__."::".__FUNCTION__."\n";
  14. }
  15. }
  16. function Bar() {
  17. echo "Func - ".__FUNCTION__."\n";
  18. }
  19. $x = new Foo;
  20. \Foo\Bar();
  21. $x = new \Foo\Foo;
  22. \Foo\Foo::Bar();
  23. \Foo\Bar();
  24. Foo\Bar();
  25. ?>
  26. --EXPECTF--
  27. Method - Foo\Foo::__construct
  28. Func - Foo\Bar
  29. Method - Foo\Foo::__construct
  30. Method - Foo\Foo::Bar
  31. Func - Foo\Bar
  32. Fatal error: Uncaught Error: Call to undefined function Foo\Foo\Bar() in %sns_026.php:%d
  33. Stack trace:
  34. #0 {main}
  35. thrown in %sns_026.php on line %d