<?php
namespace Foo;
function bar($namespace) {
print "This is " . __FUNCTION__ . ", and called from namespace ". $namespace. "\n";
}
namespace Another\Name;
use function Foo\bar;
// Can be defined without any problems
function bar() {
print "Bar!";
}
bar(__NAMESPACE__); // Calls the Foo\bar() method
Another\Name\bar(); // Calls our own bar() method
Fatal error: Cannot declare function Another\Name\bar because the name is already in use in /in/u9sS1 on line 14
Process exited with code 255.
Output for 7.0.0 - 7.0.6
This is Foo\bar, and called from namespace Another\Name
Fatal error: Uncaught Error: Call to undefined function Another\Name\Another\Name\bar() in /in/u9sS1:20
Stack trace:
#0 {main}
thrown in /in/u9sS1 on line 20
Process exited with code 255.
Output for 5.6.0 - 5.6.40
This is Foo\bar, and called from namespace Another\Name
Fatal error: Call to undefined function Another\Name\Another\Name\bar() in /in/u9sS1 on line 20
Process exited with code 255.
Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38
Parse error: syntax error, unexpected 'function' (T_FUNCTION), expecting identifier (T_STRING) or \\ (T_NS_SEPARATOR) in /in/u9sS1 on line 11
Process exited with code 255.
Output for 5.3.0 - 5.3.29
Parse error: syntax error, unexpected T_FUNCTION, expecting T_STRING or T_NS_SEPARATOR in /in/u9sS1 on line 11
Process exited with code 255.